网站大量收购独家精品文档,联系QQ:2885784924
  1. 1、本文档共9页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
struts2struts2

Struts2串讲 (一)Struts2概述 Struts2是一个全新的基于MVC的Web编程框架它的整体设计完全不同于Struts1。新的Struts2框架在很多方面采纳了Webwork的设计思想。事实上,Struts2是Struts和Webwork整合优化后的新一代的Web编程框架,具有如下的特点: 1.基于AOP的设计思路,将相关的内容集中到单独的软件层面中,这主要体现在Struts2的Interceptor的设计上。 2.Struts2的Action类不再依赖于Struts框架,任何的类都可作为Struts2的Action. 3.提供了大量的自带的Interceptor来实现许多系统级的服务,使开发者可以忽略很多Web编程处理中的细节,从而可以集中精力处理核心的业务问题. 4.提供了更为方便、独立的Spring的集成服务支持。 5.提供了更为方便、独立的Tiles的集成服务支持。 6.提供了大量的缺省配置,这样可以大大简化基于Struts2开发的配置工作量。 7.内置Web2.0 AJAX 特性。 8.内置validation服务。 (二)Struts2的前端控制器 Struts2的控制器(Controller)是一个过滤器,所有的请求都需要经过该过滤器,其类型为:org.apache.struts2.dispatcher.FilterDispatcher, 当FilterDispatcher接收到一个请求后,会根据相关的配置信息查找服务于该请求的interceptors、action类并自动创建它们的实例及调用它的方法服务于请求,它还会根据interceptors或action的执行结果来调用视图层组件Result来生成响FilterDispatcher过滤器必在应用的web.xml 中部署,并配置为过滤所有的请求,配置方法如下: filter filter-namefilterDispatcher/filter-name filter-classorg.apache.struts2.dispatcher.FilterDispatcher/filter-class /filter filter-mapping filter-namefilterDispatcher/filter-name url-pattern/*/url-pattern /filter-mapping (三)自定义Interceptor Interceptor拦截器是遵守struts2规范的一个对象,类似filter,在action调用之前及之后被调.有内置或自定义.内置常用为请求参数到action属性的绑定(param),参数校验,消息解析,文件上传处理等. 需要继承AbstractInterceptor接口并且实现方法: public String intercept(ActionInvocation invocation){ String result = invocation.invoke(); return result;} package name=overview extends=struts-default namespace=/core interceptors interceptor name=params class=erceptor.ParametersInterceptor / 内置的 interceptor name=sessionInterceptor class=erceptor.SessionInterceptor/ //自定义 interceptor-stack name=sessionStack interceptor-ref name=sessionInterceptor/ interceptor-ref name=defaultStack/ /interceptor-stack /interceptors default-interceptor-ref name=sessionStack/ action name=greeting class=com.tarena.struts2.action.GreetingAction method=sayGreeting interceptor-ref name=params / result name=success/core/greeting.jsp/result /action /package (四)一些常用的API和数据模型 1.ActionContext是一个只在当前线程中可用的对象,即它存储在Thre

文档评论(0)

skewguj + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档