1)用户发出一个HttpServletRequest请求
2)过滤器过滤请求。首先经过ActionContextCleanUp filter(可选)
3)调用FilterDispatcher,让FilterDispatcher去询问ActionMapper来确定该请求是否需要调用Action。如果需要,FilterDispatcher就把请求递交给ActionProxy。
4)ActionProxy收到请求后,通过Configuration Manager询问框架的配置文件struts.xml找到对应的Action类
5)ActionProxy找到类之后,创建一个AcitonInvocation的实例(该实例使用命名模式来调用)在Action执行的前后,ActionInvocation实例根据配置文件加载与Action相关的所有Interceptor
6)一旦Action执行完毕,ActionInvocation根据Struts.xml文件中的配置找到相对应的返回结果。返回结果通过是一个JSP或者FreeMarker的模版
7)最后,HttpServletResponse相应通过web.xml文件配置的过滤器返回
时间: 2024-10-31 17:14:47