- 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工作流程:
1. Servlet容器接收HTTP请求后交给Struts2的StrutsPrepareAndExecuteFilter过滤器处理,
2. 过滤器查询ActionMapper是否请求有可调用的Aciton,
如有则由Dispatcher实例获取ActionProxyFactory,创建ActionProxy及ActionInvocation,
并把请求交给ActionProxy处理;
3. ActionProxy调用ActionInvocation实例;
(ActionInvocation 是Xwork中Action、Interceptor调度的核心。保存了整个拦截器栈、ctionContext、esult等信息,由invoke()发起对拦截器及action的调用ActionInvocation会根据配置加载Action相关的Interceptor,并按照顺序一个个
通过代理模式Interceptor,最后调用ActioAction执行完毕,ispatcher负责根据struts.xml中的配置找到对应的返回结果Interceptor,最后回到过滤器,返回响应完成HTTP请求过程。
拦截器模拟实现:示例参见erceptor.simulation
示意图:
Struts2___拦截器
主要内置拦截器
AliasInterceptor 在不同请求之间将请求参数在不同名字件转换,请求内容不变ActionAutowiringInterceptor Struts2 IOC实现自动装配功能
ChainingInterceptor 和chain类型的result结合使用StrutsConversionErrorInterceptor 类型转换处理
CookieInterceptor 操作cookie
ClearSessionInterceptor 清除Session
CreateSessionInterceptor 创建Session
DebuggingInterceptor 在页面显示调试数据
ExecuteAndWaitInterceptor 在后台执行Action,同时将用户带到一个中间的等待页面
ExceptionMappingInterceptor
FileUploadInterceptor 用于文件上传
I18nInterceptor 用于国际化
LoggingInterceptor 日志记录
ModelDrivenInterceptor 如果一个类实现了ModelDriven,将getModel得到的结果放在Value Stack中
ScopedModelDrivenInterceptor如果一个Action实现了ScopedModelDriven,则从相应的Scope中取出model调用Action的setModel方法将其放入Action内部。
ParametersInterceptor将请求中的参数设置到Action中ActionMappingParametersInteceptor 处理配置文件Action元素中的参数
PrepareInterceptor 如果Acton实现了Preparable,则该拦截器调用Action类的prepare方法。StaticParametersInterceptor 从struts.xml文件中将内容设置到对应的Action中ScopeInterceptor 将Action状态存入session和application
ServletConfigInterceptor提供访问ServletTimerInterceptor 输出Action执行的时间
TokenInterceptor
TokenSessionStoreInterceptor 表单重复提交处理 并把请求的数据存储在Session中
AnnotationValidationInterceptor验证框架DefaultWorkflowInterceptor validate()验证表单,一旦有错误返回,重新定位到INPUT画面MessageStoreInterceptor 存储或者访问实现ValidationAware接口的Action类出现的消息,错误,字段错误等
JSONValidationInterceptor拦截器就是将拦截器按一定的顺序联结成一条
文档评论(0)