Struts2学习笔记.docVIP

  1. 1、本文档共58页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
2010-02-24 Struts2 学习笔记 文章分类:Java编程 1. Struts2 与 Struts1 似乎没什么血缘关系了,承自于 WebWork,直害 WebWork 不再推出新版本了,原先的 WebWork 使用者只需顺其然,即是水道渠成;相反 Struts1 的开发经验对于 Struts2 却没有太大的帮助。 2. Struts1 的核心控制器是 ActionServlet,而 Struts2 的核心控制器是 FilterDispatcher。Struts2 的业务 Action 会在运行时生成 Action 代理。 3. Struts1 的 Action 须继承抽象 Action 类,侵入了 Servlet API;而 Struts2 的 Action 可以实现 ActionSupport,或者只要一个纯净的 POJO 来充当,完全与 Servlet 绝缘。也因此带来测试性 Struts2 要比 Struts1 强,可把 Struts TestCase 扔到一旁去了。 4. Struts1 在运行时一个 Action 只会生成一个实例,而 Struts2 中的 Action 会应对每个请求生成新的实例,在线程安全性方面,Struts1 要多些考虑。 5. Struts1 依靠 ActionForm 来接受数据,它也是依赖于 Servlet API ,并非普通的 JavaBean,而 Struts2 可在 Action 属性中获取请求的属性,当然也能封装在一个独立的 POJO 中。不过提醒一下,在 Struts1.3 中也可以用 POJO 来接受请求属性,但使用起来有点烦琐。 6. Struts2 使用了新的 OGNL 的表达式语言,可以访问值栈,在对集合和索引属性的支持上功能更强大。 7. Struts1 的配置文件只需 struts-config.xml;Struts2 的配置文件有 struts.xml 和 perties 中有两个 struts.devMode = fase 和 struts.configuration.xml.reload = true 很可爱,分别设置当前是开发还是生产模式,以及 struts.xml 改变后是否自动重新加载,免去了改配置手工重启应用的必须步骤。 8. Struts2 Action 的 execute() 无参,返回的是一个字符串,不像 Struts1 Action 的 execute() 有一大串且不说,光是返回 ActionForward,就让这个 Action 与 Struts1 脱不了干系;还是 Struts2 来得聪明,只返回个中性的 String,反正名字吗,猛然间这个 Action 也成 POJO 了,复用性增强了,难怪专门有一书,名为《POJO In Action》。 9. Struts1 的视图只支持 JSP,这也不怪它,只怨出身太早,那时就只有 JSP 一种表现层。相比,Struts2 更有艳福,能贴近于 FreeMarker、Velocity、XSLT、PDF 等视图技术。 10. Struts2 提供了功能强大复杂的标签库,统一化为 s 前缀。并顺应时代潮流地加入了 AJAX 的支持。还提供了更友好的验证功能。 1. 记得 Struts1 的 struts-config.xml 通常是放在 WEB-INF 目录下的,Struts2 的 struts.xml 却要放到 WEB-INF/classes 下的,傻眼了吧,反正我是。没看仔细之前,总给我报 There is no Action mapped for namespace / and action name Login. - [unknown location]? 错误。因未在 web.xml 指定 struts.xml,所以用 ClassLoader 来加载它了。 2. 最简单的 Struts2 应用都要用到 freemarker-xxx.jar 包,因为 UI 标签要用到 FreeMarker ftl 的模板。 3. FilterDispatcher 要处理所有的 Web 请求,所以它的 url-pattern 是 /*,并自动对 *.action 转给业务 Action 处理。 4. struts.xml 中引入一个 package 节点来包裹 action,必须指定 package 的 name 属性,自定义命名即可,与 class 所在包无多大关系。 5. 把 ActionContext.getContext().getSession() 这个 Map 当 HttpSession 用即可,它与 HttSession 之间

文档评论(0)

精华文档888 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档