Struts的简易配置
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
"http://struts.apache.org/dtds/struts-2.0.dtd">
<struts>
<!-- 采用通配符的方式,动态调用方法 -->
<!-- 禁止通过URL动态执行Action的任意方法 -->
<!-- <constant name="struts.enable.DynamicMethodInvocation" value="false"
/> -->
<!-- 设置开发模式 -->
<constant name="struts.devMode" value="true" />
<!-- 与spring集成,调用spring的对象池 -->
<!-- <constant name="struts.objectFactory" value="spring" /> -->
<!-- 设置国际化 -->
<constant name="struts.i18n.encoding" value="UTF-8"></constant>
<!-- ********************************包(package)**************************************** -->
<!-- struts2的action必须放在一个指定的包空间下定义。 如:<package name="default" extends="struts-default">。
<struts></struts>下可以定义多个package。
标签:package,定义一个包,包的作用:管理action (通常,一个业务模块用一个包)。
属性:name,包的名字,可以任意取, 但是包名不能重复,一旦重复,启动时即报错。
extends,当前包继承自哪个包, 在struts中,包一定继承struts-default。 struts-default是在struts-default.xml中定义的包。
abstract="true",表示该包为抽象包,抽象包中不能含有action的定义,否则运行时期报错。只有当前包希望被其它包继承的时候才为true,如: <package name="basePackage" extends="struts-default"
abstract="true"></package> <package name="xxxx" extends="basePackage"/>。
namespace,名称空间,默认为'/',作为路径的一部分 访问路径= http://localhost:8080/项目/名称空间/Struts中action标签的name属性 -->
<package name="hst" extends="struts-default">
<!-- ***************************拦截器(interceptor)*************************************** -->
<interceptors>
<!-- 定义拦截器。name:拦截器名称, class:拦截器类路径 -->
<interceptor name="userExist" class="com.hst.intercepter.LoginIntercepter"></interceptor>
<!-- 定义拦截器栈 -->
<!-- <interceptor-stack name="XX">
<interceptor-ref name="XX"></interceptor-ref>
<interceptor-ref name="XX"></interceptor-ref>
</interceptor-stack> -->
</interceptors>
<!-- 定义默认的拦截器 每个Action都会自动引用,如果Action中引用了其它的拦截器 默认的拦截器将无效 -->
<!-- <default-interceptor-ref name="XX"></default-interceptor-ref> -->
<!-- *******************************action***************************************** -->
<!-- 定义处理请求URL为login.action的Action -->
<action name="login" class="com.hst.action.LoginAction">
<!-- 引用拦截器。name:拦截器名称或拦截器栈名称-->
<interceptor-ref name="userExist"></interceptor-ref>
<!-- 定义处理结果字符串和资源之间的映射关系 -->
<result name="success">/success.jsp</result>
<result name="input">/error.jsp</result>
</action>
</package>
</struts>