- 1、本文档共5页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
一个计算机专业学生几年的编程经验汇总(四)
一个计算机专业学生几年的编程经验汇总(四)Java杂谈(九)--Struts2
最近业余时间笔者一直JavaVirtualMachine的研究,由于实习分配到项目组里面,不想从前那么闲了,好不容易才抽出时间来继续这个话题的帖子。我打算把J2ee的部分结束之后,再谈谈 JVM和JavaScript,只要笔者有必威体育精装版的学习笔记总结出来,一定会拿来及时和大家分享的。衷心希望与热爱Java的关大同仁共同进步……
这次准备继续上次的话题先讲讲Struts-2,手下简短回顾一段历史:随着时间的推移,Web应用框架经常变化的需求,产生了几个下一代Struts的解决方案。其中的StrutsTi继续坚持MVC模式的基础上改进,继续Struts的成功经验。WebWork项目是在2002年3月发布的,它对Struts式框架进行了革命性改进,引进了不少新的思想,概念和功能,但和原Struts代码并不兼容。WebWork是一个成熟的框架,经过了好几次重大的改进与发布。在2005年12月,WebWork与StrutsTi决定合拼,再此同时,StrutsTi改名为StrutsActionFramework2.0,成为Struts真正的下一代。
? 看看Struts-2的处理流程: ? 1) Browser产生一个请求并提交框架来处理:根据配置决定使用哪些拦截器、action类和结果等。 ? 2) 请求经过一系列拦截器:根据请求的级别不同拦截器做不同的处理。这和Struts-1的RequestProcessor类很相似。 ? 3) 调用Action:产生一个新的action实例,调用业务逻辑方法。 ? 4) 调用产生结果:匹配resultclass并调用产生实例。 ? 5) 请求再次经过一系列拦截器返回:过程也可配置减少拦截器数量 ? 6) 请求返回用户:从control返回servlet,生成Html。
? 这里很明显的一点是不存在FormBean的作用域封装,直接可以从Action中取得数据。这里有一个Strut-2配置的web.xml文件: ? filter filter-name controller /filter-name filter-class org.apache.struts.action2.dispatcher.FilterDispatcher /filter-class ? /filter ? filter-mapping filter-name cotroller /filter-name url-pattern /* /url-pattern ? /filter-mapping
注意到以往的servlet变成了filter,ActionServlet变成了FilterDispatcher,*.do变成了/*。filter 配置定义了名称(供关联)和filter的类。filtermapping让URI匹配成功的的请求调用该filter。默认情况下,扩展名为 .action 。这个是在perties文件里的 struts.action.extension 属性定义的。
perties是属性定义文件,通过在项目classpath路径中包含一个名为“perties”的文件来设置不同的属性值。而Struts-2的默认配置文件名为struts.xml。由于1和2的action扩展名分别为.do和.action,所以很方便能共存。我们再来看一个Struts-2的action代码: public class MyAction { public String execute() throws Exception { //do the work return success ; } }
很明显的区别是不用再继承任何类和接口,返回的只是一个String,无参数。实际上在Struts-2中任何返回String的无参数方法都可以通过配置来调用action。所有的参数从哪里来获得呢?答案就是InversionofControl技术(控制反转)。笔者尽量以最通俗的方式来解释,我们先试图让这个Action获得reuqest对象,这样可以提取页面提交的任何参数。那么我们把request设为一个成员变量,然后需要一个对它的set方法。由于大部分的action都需要这么做,我们把这个set方法作为接口来实现。 public interface ServletRequestAware { ? public void setServletRequest(HttpServletRequest request); }
public class MyAction implemen
您可能关注的文档
最近下载
- 江西农业大学2021-2022学年第1学期《高等数学(上)》期末考试试卷(B卷)及标准答案.pdf
- 施工组织设计-江城水泥混凝土土.doc VIP
- 山西农业大学2021-2022学年第1学期《高等数学(上)》期末考试试卷(A卷)及标准答案.pdf
- 八年级上语文 《红星照耀中国》纪实作品人教PPT课件优质课比赛公开课获奖.ppt
- B2C电子商务信任实证研究的现状与思考.doc
- 有理数乘方练习题.doc VIP
- 经典电动力学-北京大学物理学院.PDF
- 幂的乘方与积的乘方-练习题(含答案) .doc VIP
- 政府采购非招标方式概述 .ppt VIP
- 云南南博会会展服务中心招聘笔试真题2023.docx VIP
文档评论(0)