【原理图】
【MVC】
【执行过程(重要!!!!!)】
1) 客户端浏览器发出请求时,被Tomcat服务器所接收。Tomcat容器将用户的请求封装为HttpServletRequest对象
2) 请求将通过一系列过滤器,当最后可以通过核心过滤器(StrutsPrepareAndExecuteFilter或FilterDispatcher(早期版本中使用))时,将调用ActionMapper获取Action的映射信息(未得到Action对象)。
3) 请求继续向下流转,流转到ActionProxy。ActionProxy将通过ConfigManager类获取对应的Action类和相关方法。并创建一个Action代理类。
4) 代理类对象经过一系列拦截器栈(多个拦截器),通过这些拦截器可以实现类型转换、数据绑定、国际化等操作
5) 调用Action方法处理客户的请求,请求处理结束后会形成一个Result。引擎将根据Result结果调用相应的模板进行渲染处理
6) 渲染结果将再次经过一系列拦截器对结果进行返回,返回后会形成一个HttpServletResponse对象
7) Tomcat会将Response对象的结果发送回客户端