Struts2 工作流程
在我的理解中Struts2的工作流程大概分为七步:
1、客户端发送HttpServletRequest请求;
2、这个请求经过一系列的过滤器(Filter),最后发送到FilterDispatcher中;
3、FilterDispatcher通过action mapper确定是否有对应的action,如果有,FilterDispatcher就发送到actionproxy中;
4、再由actionproxy查询Struts.xml中对应的action类,
5、actionproxy实例化一个新的对象actionInvocation,通过这个来调用action类
6、ActionInvocation负责根据struts.xml中的配置找到对应的返回结果result
7、通过HttpServletResponse响应给客户端
注意:Struts 2的核心控制器是FilterDispatcher,有3个重要的方法:destroy()、doFilter()和Init()
执行顺序是:init()---->doFilter()-------->destroy()