Struts2是一个基于MVC设计模式的Web应用框架,它本质上相当于一个servlet,在MVC设计模式中,Struts2作为控制器(Controller)来建立模型与视图的数据交互。
一.Struts2执行流程介绍
1.通过浏览器发送一个请求
2.会被StrutsPrepareAndExecuteFilter拦截(struts2的拦截器作用)
3.会调用strust2框架默认的拦截器(interceptor)完成部分功能
4.在执行Action中操作
5.根据Action中方法的执行结果来选择来跳转页面Result视图
一般我们将StrutsPrepareAndExecuteFilter 叫做前端控制器(核心控制器),只有在web.xml文件中配置了这个filter我们的strtus2框架才能使用。
<!-- 声明StrutsPrepareAndExecuteFilter --> <filter>
<filter-name>struts2Filter</filter-name>
<filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class> </filter> <!-- 拦截访问路径 --> <filter-mapping> <filter-name>struts2Filter</filter-name> <url-pattern>/*</url-pattern> </filter-mapping>
Strtus2的默认拦截器(interceptor),它们是在struts-default.xml文件中配置。
二.Struts2配置文件加载顺序
第一个 加载的是default.properties文件
位置:strtus2-core.jar包org.apache.struts2包下
作用:主要是声明了struts2框架的常量
第二个 加载的是一批配置文件
Strtus-default.xml
位置:struts2-corl.jar
作用:声明了interceptor result bean
Strtus-plugin.xml
位置:在strtus2的插件包中
作用:主要用于插件的配置声明
Strtus.xml
位置:在我们自己的工程中,自定义的struts.xml配置文件
作用:用于我们自己工程使用strtus2框架的配置
第三个 加载的是自定义的strtus.properties
位置:都是在自己工程的src下
作用:定制常量
第四个 自定义配置提供
第五个 加载的是web.xml配置文件
主要是加载strtus2框架在web.xml文件中的相关配置.
第六个 bean相关配置
总结:
Default.properties --> struts-default.xml/struts-plugin.xml/struts.xml --> struts.properties(自定义的配置) --> web.xml --> bean相关配置
重点掌握:
1.default.properties
2.struts-default.xml
3.Struts-plugin.xml
4.Strtus.xml
5.Web.xml