基于Struts技术的Web应用设计与实现
http://tech.ddvip.com 2006年11月20日 社区交流
本文详细介绍基于Struts技术的Web应用设计与实现
1、创建视图组件
在视图中主要包括两个组件:用户登录页面bbsLogin.jsp,是struts的输入显示页面;登录失败页面wrong.jsp;是用户登录失败后显示的页面。它们都保存在Web应用目录bbs下。
2、创建模型组件
模型组件文件UserInfo.java是处理业务逻辑的JavaBean, 封装了与论坛用户相关的所有信息,同时也定义了所有与论坛用户信息处理相关的方法。例如检查用户身份的方法以及查找、删除、编辑、存储用户信息等。通过Action类派生的子类LoginAction访问UserInfo.java实现对业务逻辑的处理。如果模型组建处理的业务比较复杂可以使用EJB或其他J2EE组件来实现。注意业务逻辑层对应的类所在的包应该部署在bbs/WEB-INF/classes下。
3、创建控制器组件
控制器组件作为整个Struts架构的控制中心,包括了ActionServlet、Action Bean、ActionForm Bean、以及相关配置文件web.xml、struts-config.xml及资源包。ActionServlet类是框架自带的,是整个Struts框架的控制枢纽,通常不需要扩展。
⑴ 声明及定义LoginActionForm.java
该Javabean用于收取用户登录页面提交的表单数据。注意ActionFormBean中属性名称一定要对应用户表示层JSP页面中的表单元素名称及超链接参数名。
⑵ 声明及定义LoginAction.java
LoginAction负责处理客户端提交请求,其主要功能是依据接收到的不同请求,通过LoginActionForm中得到对应的提交表单数据,调用业务逻辑层中对应的UserInfo.java进行处理。最终将结果传给用户表示层JSP页面,显示在用户面前。
⑶ 配置文件定义
web.xml主要实现了对ActionServlet进行配置,同时还必须声明Web表示层中所使用的struts标签库。针对本应用Struts-config.xml配置如下。
<form-beans>
<form-bean name="loginForm" type="bbs.LoginForm"/>
</form-beans>
<global-forwards>
<forward name="LoginSuccessed" path="/bbsMain.jsp"/>
<forward name="LoginFailed" path="/wrong.jsp"/>
</global-forwards>
<action-mappings>
<action path="/login" type="bbs.LoginAction" name="loginForm" scope="session" input="/bbsLogin.jsp" />
</action-mappings>结束语
从某种意思上讲,Struts技术只实现了Web层的应用框架,但它是一个具有良好扩展性和不断完善的框架,结合J2EE核心设计模式,可构建出相当稳定的基于MVC应用框架,利用这样应用框架不但能缩短开发时间,还能够实现框架和代码的重用,是未来web应用开发的主流技术。
来源:计算机与信息技术 作者:杨丽娜 魏永红 责编:豆豆技术应用