Struts.xml 配置文件说明

<?xml version="1.0" encoding="UTF-8" ?>

<!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.3//EN" "http://struts.apache.org/dtds/struts-2.3.dtd">

<struts>

<!-- action请求默认后缀 -->

<constant name="struts.action.extension" value="" />

<!-- action返回结果编码.解决乱码问题 -->

<constant name="struts.i18n.encoding" value="utf-8" />

<!-- 修改struts.xml后,无需重启Tomcat -->

<constant name="struts.configuration.xml.reload" value="true"/>

<!-- package属性介绍

1.name ->包的名称,可自定义,可以配置多个包

2.namespace ->命名空间,不同模块可以指定不同的空间,必须以"/"开头

3.extends -> 继承,值是直接或间接的继承struts-default,它也是一个xml文件

-->

<package name="xiif-default" extends="json-default">

<result-types>

<result-type name="stringResult" class="com.tcl.basic.obj.StringResult" />

</result-types>

<interceptors>

<interceptor name="trimInterceptor"

class="com.tcl.basic.interceptor.TrimInterceptor" />

<interceptor-stack name="deskapiStack">

<interceptor-ref name="trimInterceptor" />

<interceptor-ref name="defaultStack" />

</interceptor-stack>

</interceptors>

<!-- 配置默认拦截器 -->

<default-interceptor-ref name="deskapiStack" />

<!-- 配置默认的action(package子标签,置于action标签之上).当请求的action不存在时,执行默认的default -->

<default-action-ref name="default"/>

<action name="default">

<result>/index.html</result>

</action>

</package>

</struts>

======================================================================

1.解决乱码问题

<constant name="struts.i18n.encoding" value="utf-8"/> //设置编码格式为utf-8

  1. 自定义扩展名

<constant name="struts.action.extension" value="action,,tcl"/> //struts默认扩展名是action,可以自定义

3.设置开发模式

<constant name="struts.devMode" value="true"/> //打开开发者模式,可在出错时提供友好的错误信息提示

以上参数都是在struts.xml中配置的,我们也可以在src目录下新建一个struts.properties文件,上面三个配置都可以写成下面这样,能实现同样的作用:

struts.i18n.encoding=utf-8

struts.action.extension=action,,tcl

struts.devMode=true

4.设置配置文件修改后自动加载(开发时使用)

<constant name="struts.configuration.xml.reload" value="true"/> //修改struts.xml后,无需重启Tomcat

5.引入其他配置文件(多在团队协作开发使用)

<include file="com/tcl/struts/user.xml"/>

  1. package包(着重介绍)

<?xml version="1.0" encoding="UTF-8" ?>

<!DOCTYPE struts PUBLIC

"-//Apache Software Foundation//DTD Struts Configuration 2.3//EN"

"http://struts.apache.org/dtds/struts-2.3.dtd">

<struts>

<!-- package属性介绍

1.name ->包的名称,可自定义,可以配置多个包

2.namespace ->命名空间,不同模块可以指定不同的空间,必须以"/"开头

3.extends -> 继承,值是直接或间接的继承struts-default,它也是一个xml文件

-->

<package name="login" namespace="/user" extends="struts-default">

<!-- action 属性介绍

1.name ->url请求名,不需要加后缀(.action)

2.class ->处理url对应的java类,class要求包名+类名

3.method ->配置处理请求的方法,默认为execute;方法必须是public String修饰的

-->

<action name="login" class="com.tcl.action.LoginAction" method="execute">

<!-- result属性介绍

1.name:->匹配请求方法的返回值,默认是success

2.type:->结果处理类型,默认是dispatcher转发

chain: 链接到下一个action,执行完actionA后执行actionB<result type="chain">exit</result>

redirect: 重定向到jsp页面

redirectAction: 重定向到下一个action

-->

<result name="success">/succ.jsp</result>

<result name="error">/login.jsp</result>

</action>

</package>

</struts>

7.配置默认执行的class(package子标签,置于action标签之上)

<!-- 当action标签中没有写class属性时,默认执行这个class-->

<default-class-ref class="com.tcl.action.LoginAction"/>

8.配置默认的action(package子标签,置于action标签之上)

<!--当请求的action不存在时,执行默认的default-->

<default-action-ref name="default"/>

<action name="default">

<result>/index.jsp</result>

</action>

9.配置全局结果集(package子标签,置于action标签之上)

<global-results>

<!-- 所有的aciton中,只要action里面的方法返回了comehere字符串时,就都跳到这个a.jsp页面来 -->

<result name="comehere">/a.jsp</result>

</global-results>

相关推荐
MY_TEUCK6 小时前
【Java 后端】SpringBoot 登录认证与会话跟踪实战(JWT + Filter/Interceptor)
java·开发语言·spring boot
今天长肉了吗6 小时前
银行风控项目踩坑实录:指标跑了6小时,风险评分全挂了
java
随读手机7 小时前
多式联运信息交互平台完整方案(2026版)
java·ai·eclipse·云计算·区块链
许彰午7 小时前
03-二叉树——从递归遍历到非递归实现
java·算法
nj01287 小时前
Spring 循环依赖详解:三级缓存、早期引用、AOP 代理与懒加载
java·spring·缓存
野生技术架构师7 小时前
2026年最全Java面试题及答案汇总(建议收藏,面试前看这篇就够了)
java·开发语言·面试
一只叫煤球的猫8 小时前
ThreadForge 源码解读一:ThreadScope 如何把并发任务放进清晰边界?
java·面试·开源
洛_尘9 小时前
Python 5:使用库
java·前端·python
程序员小假9 小时前
HTTP3 性能更好,为什么内网微服务依然多用 HTTP2?HTTP2 内网优势是什么?
java·后端
Mr数据杨9 小时前
【Codex】用教案主体模块沉淀标准化教学设计内容
java·开发语言·django·codex·项目开发