第三章 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配置文件的<global-forwards>配置节下面进行配置。如下格式: <global-forwards> <forward name="msg" path="/msg.jsp"></forward> <forward name="error" path="/error.jsp"></forward> </global-forwards> 这样一个Web应用程序的所有Action都将共享msg.jsp与error.jsp页面。

评论