Struts2
工作原理:
①客户端初始化一个请求
②请求经过一系列的过滤器ActionContextCleanUp
③FilterDispatcher被调用,FilterDispatcher询问ActionMapper来决定是否需要调用某个action
④如果ActionMapper决定调用某个action,FilterDispatcher就会把请求的处理交给ActionProxy
⑤ActionProxy通过struts.xml访问框架的配置文件,找到需要调用的action类
⑥ActionProxy创建一个ActionInvocation实例;
⑦ActionInvocation实例命名模式来调用,在调用Action的过程前后,涉及到相关拦截器(Intercepter)的调用。
⑧action执行完成。ActionInvocation负责根据struts.xml中的配置找到对应的返回结果。返回结果通常是一个需要被表示的JSP。在表示的过程中可以使用Struts2 框架中继承的标签。
工作流程:
1、客户端浏览器发出HTTP请求.
2、根据web.xml配置,该请求被FilterDispatcher接收
3、根据struts.xml配置,找到需要调用的Action类和方法, 并通过IoC方式,将值注入给Aciton
4、Action调用业务逻辑组件处理业务逻辑,这一步包含表单验证。
5、Action执行完毕,根据struts.xml中的配置找到对应的返回结果result,并跳转到相应页面
6、返回HTTP响应到客户端浏览器