<!DOCTYPEstrutsPUBLIC"-//ApacheSoftwareFoundation//DTDStrutsConfiguration2.0//EN""http://struts.apache.org/dtds/struts-2.0.dtd">
<struts>
<!--
include节点是struts2中组件化的方式可以将每个功能模块独立到一个xml配置文件中然后用include节点引用
-->
<includefile="struts-default.xml"></include>
<!--
package提供了将多个Action组织为一个模块的方式package的名字必须是唯一的package可以扩展当一个package扩展自另一个package时该package会在本身配置的基础上加入扩展的package的配置父package必须在子package前配置
name:package名称
extends:继承的父package名称
abstract:设置package的属性为抽象的抽象的package不能定义action值true:false
namespace:定义package命名空间该命名空间影响到url的地址,例如此命名空间为/test那么访问是的地址为http://localhost:8080/struts2/test/XX.action
-->
<packagename="com.kay.struts2"extends="struts-default"namespace="/test"><interceptors>
<!--定义拦截器name:拦截器名称class:拦截器类路径-->
<interceptorname="timer"class="com.kay.timer"></interceptor> <interceptorname="logger"class="com.kay.logger"></interceptor> <!--定义拦截器栈-->
<interceptor-stackname="mystack">
<interceptor-refname="timer"></interceptor-ref>
<interceptor-refname="logger"></interceptor-ref>
</interceptor-stack>
</interceptors>
<--
定义默认的拦截器每个Action都会自动引用,如果Action中引用了其它的拦截器默认的拦截器将无效
-->
<default-interceptor-refname="mystack"></default-interceptor-ref>
<!--全局results配置-->
<global-results>
<resultname="input">/error.jsp</result>
</global-results>
<!--
Action配置一个Action可以被多次映射(只要action配置中的name不同)
name:action名称
class:对应的类的路径
method:调用Action中的方法名
-->
<actionname="hello"class="com.kay.struts2.Action.LoginAction">
<!--引用拦截器name:拦截器名称或拦截器栈名称-->
<interceptor-refname="timer"></interceptor-ref>
<!--
节点配置
name:result名称和Action中返回的值相同
type:result类型不写则选用superpackage的typestruts-default.xml中的默认为dispatcher
-->
<resultname="success"type="dispatcher">/talk.jsp</result>
<!--参数设置name:对应Action中的get/set方法-->
<paramname="url">http://www.sina.com</param>
</action>
</package>
</struts>