Struts2的常见配置

Struts2的配置文件的加载顺序

每次从客户端发送请求到服务器都要先经过核心过滤器StrutsPrepareAndFilter,这个过滤器有两个功能:预处理和执行。
预处理:就是主要是来加载配置文件的,在过滤器中就是init方法
执行:是用来执行一组拦截器完成部分功能,在过滤器中的就是doFilter方法
由于是过滤器服务器启动就会创建 而过滤器中的init方法就会执行

在核心过滤器中的init方法会执行:
在这里插入图片描述

  • init_DefaultProperties() ----加载default.properties
  • init_TraditionalXmlConfigurations(); ----加载struts-default.xml、struts-plugin.xml、struts.xml
  • init_LegacyStrutsProperties(); ----加载struts.properties
  • init_CustomConfigurationProviders(); ----加载配置提供类
  • init_FilterInitParameters() ; // [6] ----加载web.xml中过滤器初始化参数
  • init_AliasStandardObjects() ; // [7] ----加载Bean对象

加载顺序

  • default.properties

  • struts-default.xml

  • struts-plugin.xml

  • struts.xml

  • struts.properties

  • web.xml

    • 注意:后配置的常量的值会覆盖先配置的常量的值。

package的相关配置

package标签:被称为包,这个包与Java中的包的概念不一致。包为了更好管理action的配置。
package标签的属性
1. name: 包的名称,在一个项目中不可重名。
2. extends:继承哪个包,通常值是struts-default
3. namespace:名称空间,与< action >标签中的name属性共同决定访问路径
4. abstract:抽象的,用于其他包的继承。

  • 空间名称的三种写法:
    带名称的访问空间:
    1. 带名称的名称空间 :namespace=”/aaa”
    2. 跟名称空间 :namespance=”/”
    3. 默认名称空间 :namespace=””

action相关的配置

action标签是用来配置Action类的。
action标签的属性

  • name :与namespace共同决定访问路径
  • class :Action类的全路径
  • method :执行Action中的哪个方法的方法名,默认值execute
  • converter :用于设置类型转换器

例子:

<!-- 配置Struts2的包  -->
<package name="hello" extends="struts-default" namespace="/">
<action name="hello" class="com.ztl.struts.demo1.HelloAction">
	<!-- 配置跳转 -->
	<result name="success">/demo1/success.jsp</result>
</action>
</package>  

Struts2的常量配置

在Struts2的框架中,提供了非常多的常量:(在default.properties)

  • struts.i18n.encoding=UTF-8 ----Struts2中所有的post请求的中文乱码不用处理。
  • struts.action.extension=action, ----Struts2请求的默认的扩展名。默认扩展名是.action或者什么都不写。
    在Struts2中修改一些常量的值:
  • 修改常量的值,可以有三个位置进行修正
    • struts.xml中进行修改
      在这里插入图片描述
    • struts.properties中进行修改
      在这里插入图片描述
    • web.xml中进行修改

模块开发配置

使用include标签可以导入别的配置

<include file="-----------.xml"/>

猜你喜欢

转载自blog.csdn.net/qq_40435621/article/details/88189660