论文导读::Struts是基于MVC设计模式的Web应用开发框架,它向开发人员提供有助于构建各种应用程序的一系列组件,在Web应用开发中具有非常重要的地位。本文分析了Struts框架的体系结构、工作流程。以产品售后服务系统为例说明了Struts框架在Web开发中的应用。
论文关键词:Struts框架子,MVC模式Web应用开发
1 引言
基于互联网的Web开发已成为了广大程序开发者追逐的一个热点技术,在众多的Web开发技术中,使用流行的框架来完成项目开发是一个很好的方法。Struts框架是目前Web开发中比较流行的一个开源框架,它主要是采用Servlet和JSP技术实现了MVC模式,使得系统视图部分、控制部分、模型部分相分离毕业论文题目,降低了系统各组件之间的耦合性[1],提高了代码的可重用性,增加了系统的灵活性和可扩展性,开发效率明显提高。
2 Struts核心组件与工作流程
2.1 Struts与MVC
MVC是Xerox PARC在20世纪80年代提出的一种软件设计模式,即模型-视图-控制器模式[2]。模型主要完成业务逻辑处理,视图主要完成业务数据的视图表示,控制器负责控制用户输入的流和状态,真正实现了业务逻辑、控制逻辑、显示逻辑的分离。MVC模式中,模型、视图、控制器都有相应的工具软件来实现,但很少有工具软件能够将三者无缝地联系在一起,Struts正是为解决这一问题而产生的。Struts框架实现了Model 2 MVC模式毕业论文题目,它利用Servlet来当控制器,为视图和模型之间搭起了一个联系的桥梁[3]。利用Struts不需要编写专门的Servlet程序来管理JSP页面和业务逻辑模块免费论文。
2.2 Struts框架组成
Struts框架实现了MVC设计模式,它包括与MVC的模型、视图、控制器对应的组件。
2.2.1 模型部分
包括Java Bean与Service Classes(如:EJB),用来封装业务数据、业务逻辑和程序运行状态。JavaBean 用来表示业务实体或业务数据,Service Class用来表示业务逻辑。它们在程序应用中被Action调用。封装应用处理逻辑,ActionForm封装了表单数据。
2.2.2视图部分
包括JSP页面、ActionForm和Struts标签。JSP页面通常只包括标签,不含业务处理,也不包括模型信息。ActionFormBean是Struts框架所持有的组件,也属于视图部分,Struts框架利用ActionForm Bean进行视图和控制器之间表单数据的传递,ActionFormBean可以保存表单数据毕业论文题目,也可以验证表单数据。JSP文件可以读取ActionForm Bean中的数据,通过中心控制器ActionServlet可以更新表单中的数据。
2.2.3控制部分
包括ActionServlet类、Action类和struts-config.xml。ActionServlet是Struts最核心的组件,负责接收所有用户的请求,根据struts-config.xml文件中的配置信息,把请求信息和表单位数据转发给相应的Action。Action类负责对程序运行流程的控制。struts-config.xml负责配置用户请求和Action、ActionForm的映射。
2.3 Struts工作流程
Struts中各组件协作运行机制如图1所示。详细流程主要包括四个步骤:
(1)Web服务器启动,初始化ActionServlet,并读取struts-config.xml中的配置信息,然后把这些信息分发到各种配置对象中免费论文。(2)客户端浏览器发送用户请求后,ActionServlet接收该请求。然后在Struts-config.xml文件的配置信息中查找与请求匹配的Action映射对象并将请求信息转发至用户请求的Action。(3)Action调用JavaBean,使用ActionForm中的数据处理用户请求,执行execute( )方法。(4)ActionServlet根据execute( )方法返回的ActionForword对象所指向的JSP视图文件或新的Action对象毕业论文题目,将请求传送给相应的JSP文件生成动态网页响应客户或转发到一个新的Action对象,继续执行步骤(2)。
 
图1Struts协作运行机制
3 Struts框架应用实例
3.1基于Struts框架的Web应用软件开发流程
(1)收集、整理并分析系统功能需求,设计基本用例,每一个系统的功能均对应着一个独立的用例。
(2)分析与建立数据库,并给出数据库表。
(3)设计业务逻辑组件,实现数据实体模型部分和业务逻辑,可以是JavaBean、EJB、Hibernate组件等。
(4)设计视图组件,即客户端用户界面。设计与页面一一对应的ActionForm组件,用于实现视图组件与控制器组件之间传递数据。
(5)实现各种事件流程序控制,编写Action和struts-config.xml文件,确实好Action与Web组件的映射关联。
3.2 利用Struts框架开发产品售后服务系统
包括商品产品反馈平台和客户服务平台在内的产品售后服务系统是当今典型的基于Internet的Web应用软件毕业论文题目,产品售后服务系统的主要功能是建立客户对公司所售产品应用情况的信息反馈平台和公司对售出的产品进行在线客户服务管理。具体的功能包括:客户注册后,登录信息反馈平台后填写所购产品的基本信息、使用意见和建议,然后可以查看对所提意见和建议的回复信息,客户服务人员通过查看反馈信息后,对所提出的信息、意见和建议进行分类记录,并将结果转发给各类技术人员,然后由技术人员回复客户,其他服务等等。本系统所用到功能模块包括:登录模块、客户信息管理模块、技术处理管理模块、客户服务管理模块。本文以该系统登录模块为例进一步说明使用Struts开发Web应用程序的解决方案。
(1)用户登录用例
使用产品售后服务系统的任何用户角色,只有成功登录系统后才可以继续下一步操作,登录时要输入姓名、注册编号、角色类型、验证码等信息,服务器判断输入正确则登录成功毕业论文题目,系统根据角色类型转入下一页面,否则提示重新登录免费论文。
(2)用户表的设计
本实例中采用SQLServer作为DBMS,建表的脚本代码如下:‵′
CREATE TABLE ‵user′(
‵id′int(11) NOT NULL auto_increment,------注册编号
‵name′varchar(11) NOT NULL default‵′, ------姓名
……………………
)ENGINE=InnoDBDEFAULT CHARSET=utf8
(3)用户所对应的JavaBean类名为User,所对应的文件名为User.java,其所包含的成员变量与用户表中字段一致。
(4)创建UserLoginActionForm,根据UserLoginActionForm来创建本系统用户登录界面文件userLogin.jsp。该文件中包含如下关键代码:
<html:form action=〝/userLoginAction.do〞method=〝POST〞>
(5)创建UserLoginAction,用来负责判断用户信息,决定由客户主界面、公司客服务人员或提示登录失败页面等页面来响应用户请求。关键代码如下:
public class UserLoginAction extends Action{
public ActionForward execute(… ){
…… //验证登录界面信息是否与已存在的数据库中信息一致
if(flag= =1) return actionMapping.findForward(〝customer〞); //客户
if(flag= =2) returnactionMapping.findForward(〝employee〞) ; //公司客服员工
……..
else return actionMapping.findForward(〝failure〞); //登录失败
……..}
}
创建struts-config.xml文件。关键代码如下:
<struts-config>
<form-beans>
<form-bean name="userLoginActionForm"type="loginstruts.LoginActionForm" />
</form-beans>
<action-mappings>
<action input=〝userLogin.jsp〞name="userLoginActionForm"path="/userLoginAction" scope="session"type="loginstruts.LoginAction">
<forward name=" customer " path="/customermain.jsp" />
……..
<forward name="failure"path="/error.jsp" />
</action>
</action-mappings>
</struts-config>
4 结束语
Struts是骨架、支柱的意思,Struts的目的是提供一个实现MVC模式的Web应用程序骨架。它是当前应用最为广泛的Java Web应用开发框架[4]。在Struts中,可以通过配置文件配置Action的访问路径,还提供了ActionForm组件,可以自动获取用户请求request中的数据,不再需要反复地进“request.gerParameter()”操作。Struts还提供了具有强大功能的标签库可以方便地构建页面文件实现一些特殊的功能。使用Struts来开发Web应用程序具有:设计清晰、组件复用率高、易于扩展和功能强大的用户界面等优势。
参考文献:
[1]刘志强,潘郁.基于MVC模式的Struts框架研究[J]. 微处理机, 2008. 29(4): 68-70
[2]计磊,李里,周伟.精通J2EE—Eclipse /Struts/Hibernate/Spring整合应用案例[M]. 北京: 人民邮电出版社, 2008, 8-15
[3]官全龙,姚国祥.基于Struts的应用架构的研究[J]. 计算机工程与设计, 2005, 28 (12): 3225-3227
[4]刘磊,朱敏,徐彦军.基于Struts框架的Java Web应用开发技术[J].计算机应用与软件,2007,24(5): 94-95,112
|