Struts2执行原理

【原理图】

【MVC】

【执行过程(重要!!!!!)】

1) 客户端浏览器发出请求时,被Tomcat服务器所接收。Tomcat容器将用户的请求封装为HttpServletRequest对象

2) 请求将通过一系列过滤器,当最后可以通过核心过滤器(StrutsPrepareAndExecuteFilterFilterDispatcher(早期版本中使用))时,将调用ActionMapper获取Action的映射信息(未得到Action对象)

3) 请求继续向下流转,流转到ActionProxyActionProxy将通过ConfigManager类获取对应的Action类和相关方法。并创建一个Action代理类。

4) 代理类对象经过一系列拦截器栈(多个拦截器),通过这些拦截器可以实现类型转换、数据绑定、国际化等操作

5) 调用Action方法处理客户的请求,请求处理结束后会形成一个Result。引擎将根据Result结果调用相应的模板进行渲染处理

6) 渲染结果将再次经过一系列拦截器对结果进行返回,返回后会形成一个HttpServletResponse对象

7) Tomcat会将Response对象的结果发送回客户端

原文地址:https://www.cnblogs.com/zhzcode/p/9890523.html