开始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!


浙公网安备 33010602011771号