Struts2集成指南

Struts2集成指南

ID:40570134

大小:604.50 KB

页数:21页

时间:2019-08-04

Struts2集成指南_第1页
Struts2集成指南_第2页
Struts2集成指南_第3页
Struts2集成指南_第4页
Struts2集成指南_第5页
资源描述:

《Struts2集成指南》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、Struts2集成指南关于Struts2Struts是Apache软件基金会(ASF)赞助的一个开源项目。它最初是Jakarta项目中的一个子项目,并在2004年3月成为ASF的顶级项目。它通过采用JavaServlet/JSP技术,实现了基于JavaEEWeb应用的Model-View-Controller〔MVC〕设计模式的应用框架〔WebFramework〕,是MVC经典设计模式中的一个经典产品。Struts,ahistory在JavaEE的Web应用发展的初期,除了使用Servlet技术以外,普遍是在JavaSe

2、rverPages(JSP)的源代码中,采用HTML与Java代码混合的方式进行开发。因为这两种方式不可避免的要把表现与业务逻辑代码混合在一起,都给前期开发与后期维护带来巨大的复杂度。为了摆脱上述的约束与局限,把业务逻辑代码从表现层中清晰的分离出来,2000年,CraigMcClanahan采用了MVC的设计模式开发Struts。后来该框架产品一度被认为是最广泛、最流行JAVA的WEB应用框架。CraigMcClanahan2006年,WebWork与Struts这两个优秀的JavaEE Web框架(Web Framew

3、ork〕的团体,决定合作共同开发一个新的,整合了WebWork与Struts优点,并且更加优雅、扩展性更强的框架,命名为“Struts2”,原Struts的1.x版本产品称为“Struts1”。至此,Struts项目并行提供与维护两个主要版本的框架产品——Struts1与Struts2。Struts1vs.Struts2侵入性Struts1在编程方面是面向抽象类编程,而不是面向接口编程。Struts1要求自定义Action类继承一个特定的抽象基类Action。另一方面,Struts1的Action依赖于ServletAP

4、I,因为Struts1Action的execute方法中有HttpServletRequest和HttpServletResponse方法。e.g.publicclassLogonActionextendsAction{publicActionForwardexecute(ActionMappingmapping,ActionFormform,HttpServletRequestrequest,HttpServletResponseresponse){}}Struts2Action类可以实现一个Action接口,也可以实

5、现其他接口,甚至不实现任何接口。这使得可选的和定制的服务成为可能。e.g.publicclassExampleAction{publicStringdoSomething(){return"success";}}线程模式Struts1Action类是单例模式并且必须是线程安全的,因为在web容器中,仅有Action类的一个实例来处理所有的请求。Struts2Web容器为每一个请求产生一个Action类实例,因此没有线程安全问题。可测试性Struts1由于对ServletAPI的依赖,使得针对于自定义Action类的测试变

6、得复杂。Struts2由于自定义Action可以为POJO,所以可以向测试一个POJO一样来测试Action类。请求参数封装Struts1使用ActionForm对象封装用户的请求参数,所有的ActionForm必须继承一个基类:ActionForm。普通的JavaBean不能用作ActionForm,并且需要在配置文件中定义ActionForm。e.g.publicclassLogonFormextendsActionForm{privateStringuserpassword;privateStringusernam

7、e;}Struts2直接使用Action属性来封装用户请求属性,避免了开发者需要大量开发ActionForm类的烦琐,实际上,这些属性还可以是包含子属性的Rich对象类型。e.g.publicclassExampleAction{privateStringresponseMessage;privateStringrequestMessage;publicStringgetResponseMessage(){returnresponseMessage;}publicvoidsetResponseMessage(String

8、responseMessage){this.responseMessage=responseMessage;}publicStringgetRequestMessage(){returnrequestMessage;}publicvoidsetRequestMessage(StringrequestMessage){

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。