struts2.0知识总结:
1.通过tomcat加载FilterDispatcher类,以及struts的配置文件。
2.FilterDispatcher通过getMapping(),调用ActionMapper方法返回一个actionMapper, 查找是否存在需要调用的Action。
3.FilterDispatcher通过serviceAction(),调用Dispatcher类中的execute(),ActionProxy调用invoke()查找未执行的拦截器。
4.执行拦截器时通过actionInvocation判断拦截器的执行状态,actionInvocation执行excute(invocation)方法,执行所有拦截器方法。
5.调用对应的action类的方法,查找对应的Result,将结果页面返回给用户。
6.actionInvocation的invoke()将控制权先返回给最后一个拦截器,按照相反的顺序把所有拦截器执行完成。
7.actionInvocation的invoke()方法执行完毕后,会向ActionProxy类返回一个String类型的结果码,最后ActionProxy清理状态并返回。
1.通过tomcat加载FilterDispatcher类,以及struts的配置文件。
2.FilterDispatcher通过getMapping(),调用ActionMapper方法返回一个actionMapper, 查找是否存在需要调用的Action。
3.FilterDispatcher通过serviceAction(),调用Dispatcher类中的execute(),ActionProxy调用invoke()查找未执行的拦截器。
4.执行拦截器时通过actionInvocation判断拦截器的执行状态,actionInvocation执行excute(invocation)方法,执行所有拦截器方法。
5.调用对应的action类的方法,查找对应的Result,将结果页面返回给用户。
6.actionInvocation的invoke()将控制权先返回给最后一个拦截器,按照相反的顺序把所有拦截器执行完成。
7.actionInvocation的invoke()方法执行完毕后,会向ActionProxy类返回一个String类型的结果码,最后ActionProxy清理状态并返回。