struts.xml的结构

本文深入解析了Struts2框架中struts.xml配置文件的各部分作用,包括bean、constant、include、package等核心元素,以及如何合理配置以优化应用性能。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

struts.xml放置的目录在src下,但是事实上其是放置在WEB-INF下的classes下的,只是在src那里部署后会自动加载到WEB-INF的classes下
struts.xml的机构图

一、bean
作用:
1. 创建该Bean的实例,将该实例作为struts2框架的核心组件使用。
2. Bean包含的静态方法需要注入一个值。
二、contant
作用:存放一些静态变量

<!-- 设置url请求后缀 -->
    <constant name="struts.action.extension" value="do,action,html,htm"></constant>

<!-- 指定Web应用的默认编码集,相当于调用HttpServletRequest的setCharacterEncoding方法 -->
    <constant name="struts.i18n.encoding" value="UTF-8" />

<!-- 设置浏览器是否缓存静态内容,默认值为true(生产环境下使用),开发阶段最好关闭 -->
    <constant name="struts.serve.static.browserCache" value="false" />

<!-- 当struts的配置文件修改后,系统是否自动重新加载该文件,默认值为false(生产环境下使用),开发阶段最好打开 -->
    <constant name="struts.configuration.xml.reload" value="true" />

<!-- 开发模式下使用,这样可以打印出更详细的错误信息 -->
    <constant name="struts.devMode" value="true" />

<!-- 该属性设置Struts2是否支持动态方法调用,该属性的默认值是true -->
    <constant name="struts.enable.DynamicMethodInvocation" value="true" />

<!-- 该属性指定Struts 2应用所需要的国际化资源文件,如果有多份国际化资源文件,则多个资源文件的文件名以英文逗号(,)隔开。 -->
    <constant name="struts.custom.i18n.resources" value="文件名称" />

<!-- 设置默认的locale -->  
    <constant name="struts.locale" value="zh_CN" /> 

三、include 用于加载多个xml文件**

<struts>
    <include file="struts-a.xml" />
    <include file="struts-b.xml" />
</struts>

四、package
重点:action 、interceptor

default-action-ref:默认action参考,当配置里的action都对应不上的时候,最后就会执行这个。
default-class-ref:当我们在配置Action的时候,如果没有为某个Action指定具体的class值时,系统将自动引用标签中所指定的类。
default-interceptor-ref:默认的拦截器栈
global-exception-mappings:用于异常处理的标签可以配置在Action中,也可以配置在,顾名思义就是全局异常,当然执行Action的时候发生异常时,如果在Action中没有捕获异常而是抛出异常的话,struts2会首先在正在执行的Action中查找,寻找对应的Exception进行处理,如果找不到,才会去去寻找对应的Exception处理,如果还是找不到的话,就只好抛出异常了。
global-results:设置全局返回值,内部包含多个返回结果。
Interceptors:拦截器栈
result-types:设置默认的返回类型

附: result 的类型
这里写图片描述
result 标签中 不写name属性 ,那么默认为success

<result>aa.jsp  </result>
//默认 name为success
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值