博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Struts2.1的运行流程的简单分析(个人见解)
阅读量:6833 次
发布时间:2019-06-26

本文共 834 字,大约阅读时间需要 2 分钟。

Struts2.1的运行流程大致分为以下几个步骤:

1.用户输入URL请求,该请求被StrutsPrepareAndExecuteFilter拦截,根据welcome-file属性的设置跳转到相应的jsp页面。

2.用户在jsp页面发出的相应的处理请求。

3.该处理请求也会被StrutsPrepareAndExecuteFilter拦截,首先清理当前线程的ActionContext和Dispatcher防止内存的泄露,接下来询问ActionMapper(Action映射器)来决  定这个请求是否需要调用某个Action,由于请求一般都是以Structs2.1默认的扩展名“.action”结尾,因此StrutsPrepareAndExecuteFilter把请求的处理交给    ActionProxy(Action的代理)

4.ActionProxy通过Configuration Manager(配置管理器)询问Structs2.1的配置文件Structs.xml,找到需要调用的Action类以及相应的命名视图和物理映射视图的映射关系

5.然后ActionProxy会创建一个ActionInvocation(Action的执行环境)的实例,并创建相应Action的实例来处理相应的请求

6.在Action执行环境中首先调用的是Structs2.1自带的一系列内部拦截器或者用户自定义的拦截器(如session过期验证级访问权限验证等),然后在调用validate()方法对表单字段进行有效性的验证,验证过程出错可以调用addFieldError方法添加字段错误信息,并跳转到相应的错误处理页面。如果验证通过这调用指定Action中的execute()。

 

注:本人是初学者,这是我从书中总结得到,不知道对大家有没有帮助,望大神吐槽

转载请注明出处,谢谢

转载于:https://www.cnblogs.com/zds-song/p/3718366.html

你可能感兴趣的文章
Extjs- Ext.extend函数的使用
查看>>
hdu 1172(暴力题)
查看>>
Oracle to_char()
查看>>
Lucene4Net以及盘古分词
查看>>
thickbox问题
查看>>
HttpApplication事件&ASP.NET页面周期
查看>>
Java事务之八——分布式事务(Spring+JTA+Atomikos+Hibernate+JMS)
查看>>
(转)S5PV210--1---210启动方式和代码前16字节
查看>>
Zlib与GZip - woaidongmao - C++博客
查看>>
ASP.NET那点不为人知的事(四)
查看>>
ExtJs 4.2 treePanel
查看>>
typeof和instanceof的区别
查看>>
Windows 7下面安装VMware、BackTrack5(BT5)、minidwep-gtk
查看>>
Java中获取键盘输入值的三种方法
查看>>
最少硬币问题(受限)NK1132
查看>>
ltrace查看库调用
查看>>
spring3.0事务配置及expression表达式介绍
查看>>
head设计模式 01
查看>>
PostgreSQL的神秘现象
查看>>
windows下安装redis
查看>>