- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Struts2集成指南
Struts2集成指南
关于Struts2
Struts是Apache软件基金会(ASF)赞助的一个开源项目。它最初是Jakarta项目中的一个子项目,并在2004年3月成为ASF的顶级项目。它通过采用Java Servlet/JSP技术,实现了基于Java EE Web应用的Model-View-Controller〔MVC〕设计模式的应用框架〔Web Framework〕,是MVC经典设计模式中的一个经典产品。
Struts,a history
在Java EE的Web应用发展的初期,除了使用Servlet技术以外,普遍是在JavaServer Pages(JSP)的源代码中,采用HTML与Java代码混合的方式进行开发。因为这两种方式不可避免的要把表现与业务逻辑代码混合在一起,都给前期开发与后期维护带来巨大的复杂度。为了摆脱上述的约束与局限,把业务逻辑代码从表现层中清晰的分离出来,2000年,Craig McClanahan采用了MVC的设计模式开发Struts。后来该框架产品一度被认为是最广泛、最流行JAVA的WEB应用框架。
Craig McClanahan
2006年,WebWork与Struts这两个优秀的Java EE?Web框架(Web?Framework〕的团体,决定合作共同开发一个新的,整合了WebWork与Struts优点,并且更加优雅、扩展性更强的框架,命名为“Struts 2”,原Struts的1.x版本产品称为“Struts 1”至此,Struts项目并行提供与维护两个主要版本的框架产品——Struts 1与Struts 2Struts 1要求自定义Action 类继承一个特定的抽象基类Action。另一方面,Struts 1的 Action 依赖于 Servlet APIpublic class LogonAction extends Action {
public ActionForward execute(
ActionMapping mapping,
ActionForm form,
HttpServletRequest request,
HttpServletResponse response) {
}
}
Struts 2
Action 类可以实现一个Action接口,也可以实现其他接口,甚至不实现任何接口。这使得可选的和定制的服务成为可能。
e.g.
public class ExampleAction {
public String doSomething() {
return success;
}
}
线程模式
Struts 1
Action类 是单例模式并且必须是线程安全的,因为在web容器中,仅有Action类 的一个实例来处理所有的请求。
Struts2
Web容器为每一个请求产生一个Action类实例,因此没有线程安全问题。
可测试性
Struts1
由于对Servlet API的依赖,使得针对于自定义Action类的测试变得复杂。
Struts2
由于自定义Action可以为POJO,所以可以向测试一个POJO一样来测试Action类。
请求参数封装
Struts1
使用ActionForm 对象封装用户的请求参数,所有的 ActionForm 必须继承一个基类:ActionForm。普通的JavaBean 不能用作ActionForm,并且需要在配置文件中定义ActionForm。
e.g.
public class LogonForm extends ActionForm {
private String userpassword;
private String username;
}
Struts2
直接使用Action属性来封装用户请求属性,避免了开发者需要大量开发ActionForm类的烦琐,实际上,这些属性还可以是包含子属性的 Rich对象类型。
e.g.
public class ExampleAction {
private String responseMessage;
private String requestMessage;
public String getResponseMessage() {
return responseMessage;
}
public void setResponseMessage(String responseMessage) {
this.responseMessage = responseMessage;
}
public String getRequestMessage() {
return requestMessage;
}
pub
您可能关注的文档
最近下载
- 花城版小学音乐一年级下册第16课 《看画听歌——司马光砸缸救人的故事》教学课件.ppt VIP
- 第9课近代西方的法律与教化课件--高二上学期历史选择性必修1.pptx VIP
- UniGear550安装使用说明书cn20081107.pdf VIP
- 2025年中国静脉注射用人免疫球蛋白数据监测研究报告.docx
- 古诗三首·《江南春》课件.pptx
- 培智学校义务教育生活数学课程标准.pdf VIP
- 社区常见病多发病护理常规(22种疾病)2024版.docx
- 监控采购合同模板.docx VIP
- UniGear550-10KV铠式金属开关柜 .ppt VIP
- 2022年北京石油化工学院数据科学与大数据技术专业《计算机组成原理》科目期末试卷B(有答案).docx VIP
文档评论(0)