struts.xml放置的目录在src下,但是事实上其是放置在WEB-INF下的classes下的,只是在src那里部署后会自动加载到WEB-INF的classes下
一、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