转载请注明原文地址:http://www.cnblogs.com/ygj0930/p/6807539.html
1:客户端发出请求到web服务器
2:请求经过一系列filter,最终到达Struts2核心控制器
3:核心控制器查看ActionMapper,判断该请求是请求action还是其他资源(如:jsp页面文件)
4:如果请求action,则核心控制器创建一个ActionProxy代理,并把请求交给代理进行处理。ActionProxy是通过ConfigurationManager读取structs.xml配置文件来创建的,所以包含了配置文件中的一切信息
5:ActionProxy根据请求,创建相应的action调用实例ActionInvocation,ActionInvocation实例不仅仅只有action对象,还包括在配置文件中配置好的拦截器、action实例、结果集等
6:依次执行ActionInvocation实例中的拦截器、action实例,返回result,根据result决定响应页面,倒序继续执行拦截器剩下的部分,最终通过response进行响应,返回客户端
由上面可知Struts2开发需要用到:
1:处理请求的Action类以及拦截器类
2:配置Action、拦截器、结果响应行为等的struts.xml
3:在web.xml中配置核心控制器