Struts基础之工作原理和文件结构


1.工作原理

1.1.工作原理图解


1.1.1.过滤器:用户通过HttpServletRequet发出请求至过滤器,ActionContextCleanUp(可选过滤器主要用于和其他框架进行集成),FilterDispatcher2.02.1.2版本替代为StrutsPrepareAndExecuteFilter)。为什么替代?是因为当我们自定义一个过滤器时候往往会放在最顶端,如果我们需要在执行Action之前添加我们自己的过滤器,那么FilterDispatcher做不到而后者能做到。

1.1.2.当请求是.action后缀时候会通过AcitonMapper中验证Action是否存在,返回过滤器并转到ActionProxy,并通过ConfigurationManager去读取struts.xml来找到具体的Action类。

1.1.3.通过ActionProxy代理来创建我们Action反向的实例,然后通过一系列的拦截器,执行到Action返回result,然后再通过一系列的拦截器,最后通过HttpServletResponse返回结果给用户。

2.Struts2的核心文件

2.1.web.xml

2.1.1.只有配置在web.xml文件中Servlet才会被应用加载。

2.1.2.所有的MVC框架都需要Web应用加载一个核心的控制器,对于Struts2而言,需要加载StrutsPrepareAndExecuteFilter,只要Web应用加载了StrutsPrepareAndExecuteFilterStrutsPrepareAndExecuteFilter就会加载Struts2框架。

2.2.struts.xml文件

2.2.1.主要负责管理Aciton的映射和以及该Aciton包含的Result定义等。

2.2.2.包含的内容

1)全局属性

2)用户请求和响应Action之间的关系

3)Action可能用到的参数和返回的结果

4)各种拦截器的配置

2.3.struts.properties

2.3.1.Struts2框架下的全局属性文件,自动加载(该文件包含很多的key-value键值对),该文件也可以不要,可以在struts.xml中通过constants元素进行配置。


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章