第三章 struts的应用举例
在这一章里面我们要学习
1)struts的开发步骤
2)运用struts开发一个用户登录的例子,要求显示欢迎界面
3)运用struts开发一个拥有员工增加,删除应用程序,在增加时检查工号不能重复,在 删除时检查职工是否存在,操作后做出友情提示
4)定义全局的Forward共多个Action共享
struts的开发步骤
1)进行需求分析,确定Web应用程序的功能
2)设计数据库
3)设计jsp页面(视图)
4)设计ActionForm
5)设计Action
6)设计业务逻辑组件(模型)
说明:
1:在上述的开发步骤中并没有看到struts-config.xml配置文件,那是因为运用 eclipse开发工具,struts-config.xml文件会自动产生,并自动更新
2:一个struts一般会有多个Action,也就会有多个ActionForm.而ActionServlet由 struts自动生成,用户无需管理
用户登录的例子
1)创建模型:
A:数据层:
===========================DbManager===================================
public class dbManager
{
private static Connection conn=null;
private static PreparedStatement ps=null;
static
{
Class.forName("oracle.jdbc.driver.OracleDriver");
conn=DriverManager.getConnection ("jdbc:oracle:thin:@chen:1521:ht","scott","tiger"); //注意要把D:\oracle\ora90\jdbc\lib下的classes12.jar复制到
//应用程序的lib下面
}
public static void RunNoneResultSql(String sql)
{
ps=conn.prepareStatement(sql);
ps.executeUpdate();
}
public static ResultSet RunHasResultSql(String sql)
{
ps=conn.prepareStatement(sql);
ResultSet rs=ps.executeQuery();
return rs;
}
===========================DbManager============================================
B:创建业务层:
===============================LoginJavaBean======================================
public static boolean CheckIsValid(String UserName,String PassWord)
{
String sql=String.format("select id from userinfo where UserName='%s' and PassWord='%s'",UserName,PassWord);
ResultSet rs=dbManager.RunHasResultSql(sql);
if (rs.next())
{
return true;
}
return false;
}
===============================LoginJavaBean======================================
在Action的excute里面写上写上关键代码
loginForm loginform=(loginForm)form;
String uid=loginform.getUid();
String pwd=loginform.getPwd();
if (LoginJavaBean.CheckIsValid(uid, pwd))
{
request.setAttribute("uid", uid);//设置共享的uid到request里面,可以在 //scuess.jsp中通过${uid}表达式语言来访问uid
return mapping.findForward("scuess");
}
return mapping.findForward("error");
定义全局的Forward共多个Action共享
1)通常情况下,一个Action里面可以设置多个Forward,来决定Action处理之后要跳转的页面
2)有时需要多个Action共享多个Forward,比如:多个业务逻辑处理错误之后都要跳转到同一个页面
每一个业务逻辑相当于一个Action,同一个页面相当于一个共享的Forward.
3)可以在strtus-config.xml配置文件的
这样一个Web应用程序的所有Action都将共享msg.jsp与error.jsp页面。