开始struts
一. struts环境的配置
软件环境:Myeclipse 6.5
首先建立一个web project,姑且命名为Strutstest吧 这个不用多说吧
然后开始傻瓜化的工作吧 赞美一下小M的强大吧
右键单击工程项目->Myeclipse选项->ADD struts cap... 然后回弹出下面的对话框:
单击finish按键 OK 看看小M为我们添加了什么
1.struts 的各种jar包 充分体现出了小M的强大 有点啰嗦拉.
2.一些配置文件 :struts-config.xml 各种 *.tld
OK!struts配置完毕!
二. 利用 struts1.x实现简单的登陆功能
1. 双击 struts-config.xml 使用Design模式设计 会出现下面的画面:
Ok! 让我们开始设计我们的登陆系统吧
1.在上图的空白处点击右键 选择 new ->form action and jsp OK!
2.这时会出现如下的对话框:
然后 按照上图的样例去填写 其中case是以后所用的action的名称 建议按照功能的特点进行命名 Ok!FINISH!
看看这时小M又为我们作了什么:
1. TestAction.java
2. TestForm.java
打开上面的 两个文件 仔细分析它们为我们作了什么工作.
再利用Struts-config给我们建立几个JSP (这一步就不再介绍了)注意到上图中的property中的两个属性了吧 眼熟吧 我们正是需要建立JSP把这两个属性传递给testAction 然后再进行判断 返回到哪一个JSP .
不觉中 我们完成了MVC的架构 多亏了小M 的强大 省去了我们大量的无聊的工作
看看我们需要编写的代码吧~
首先 写一个判断用户名和密码的函数
package DatabaseOpt; import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.Statement; import javax.sql.DataSource; public class LoginCheck { DataSource ds = null; Connection con = null; Statement stat = null; PreparedStatement pstat = null; ResultSet rs = null; String sql = null; //构造函数,初始化数据库连接 public LoginCheck(DataSource ds){ try{ this.ds = ds; con = ds.getConnection(); if(!con.isClosed()) { System.out.println("数据库连接成功"); } else { System.out.println("数据库连接失败"); } } catch(Exception ex){ ex.printStackTrace(); } } ///////////////////////判别函数: public boolean loginChk(String loginName,String psw) { try{ sql = "select * from MBlogAdmin where username=? and password=?"; pstat = con.prepareStatement(sql); pstat.setString(1,loginName); pstat.setString(2,psw); rs = pstat.executeQuery(); if (rs.next()) { return true; } else return false; }catch(Exception ex){ ex.printStackTrace(); return false; } finally { // 在finally块里包含这些代码 // 用以保证连接最后会被关闭 try { con.close(); } catch (Exception e) { e.printStackTrace(); } } } } 然后我们就开始在action里进行工作了 工作是如此的简单
public ActionForward execute(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) { LoginForm loginForm = (LoginForm) form;// TODO Auto-generated method stub String name =loginForm.getName(); String password = loginForm.getPassword(); DataSource ds = getDataSource(request,"datasource"); LoginCheck check = new LoginCheck(ds); if(check.loginChk(name, password)) { //将登陆信息写入session HttpSession session = request.getSession(); session.setAttribute("admin", name); return mapping.findForward("success"); } else return mapping.findForward("fail"); }
Ok!