struts2之配置文件struts.xml详解
struts配置文件 struts.xml配置参数详解
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配置文件 但由于只加载一个 所以通过此方式-->
<include file="struts2.xml"/>
<!--struts与spring整合中将对象工厂交给spring管理 默认无-->
<constant name="struts.objectFactory" value="spring" />
<!-- struts 拦截请求后缀为.action 修改此值可以改变访问路径-->
<constant name="struts.action.extension" value="action" />
<!-- 开启开发模式 在页面会有一个小按钮 点击可以查看struts的存值栈中各个值 包括自己后台添加的 和内置的-->
<constant name="struts.devMode" value="true" />
<!-- 修改struts配置否自动加载 -->
<constant name="struts.configuration.xml.reload" value="true" />
<!-- 文件上传最大值 -->
<constant name="struts.multipart.maxSize" value="104857600" />
<package name="dabai" namespace="/" extends="struts-default">
</package> </struts>
package:通常一个人配置的时候没什么用当多人配置 时 各个xml不在同一文件然后action还可能同名的情况下package就显得格外重要了。必须配置 且多个xml时不能重复
namespace:/ 代表根目录 /test 代表test目录下 通常配置 / 前台访问action的路径 可各种添加路径随自己先换 但访问时也需要修改不然就404 了 如 /a 访问时就访问 /a/*.action。 必许配置
extends:通常我们都会配置成struts-default 这包含了struts提供的很多功能 如默认的二十多个拦截器和上传文件功能等,也可以继承自己配置的 如果不闲麻烦的话 必须配置

如上图所示 按照struts的约束 进行依次说明
result-type :通常在action中配置 见<action>
<inteceptors> 在此标签中按约束配置
<interceptor>自定义拦截器 :属性name:自定义在栈中引用 class:完整的类名
<interceptor-stack>拦截器栈 :属性: name:自定义 在 设置需要拦截器栈的地方应用
<interceptor-ref>拦截器引用 :属性 name: 引用<interceptor>中配置的name 但切记最后加上对struts默认拦截器的引用 (把自定义的配置在前 至于配置在后貌似没有什么关系 可能有但我没发现)
<param>参数:一个拦截器引用可配置多个用于设置不同值 如excludeMethod
<interceptor-ref>
<interceptor-stack>
<interceptor>
<inteceptors>
<default-action-ref> 属性:name :引用拦截器栈 即struts默认的二十几个拦截器加上自定义的
<global-result>
<result> 属性: name: 对应 action返回的字符串 此处时所有action返回 对应的name 优先匹配 class:类名:完整类名 若交由spring管理objectFactory除外 type; dispatcher(默认)。redirect,redirection(转到Action中 但是会丢失传递的参数 ,chain 转到Action携带参数 stream 不常用 用于文件下载
<global-exeption-mappings>由名字可见 可以配置多个exception-mapping
<exception-mapping> 属性:result:响应结果 只可以是全局result中的某个 exception:如java.lang.exception
<global-exeption-mappings>
<action> 属性: name:访问的类名映射 class action对应的完整类名 由spring管理时可以写成bean的name method:可选项 为便于配置 通常将action的name配置成 xxAction_* method配置成{1}代表匹配xxAction_后面内容与方法第一个匹配上的方法
<result> 属性:name :acton返回的字符串处理
<action
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> <constant name="struts.objectFactory" value="spring" />
<package name="dabi1" namespace="/" extends="struts-default">
<!-- 注册拦截器 拦截器栈 设置默认拦截器 -->
<interceptors>
<interceptor name="loginInterceptor"
class="com.dabai.mall.filter.LoginInterceptor"></interceptor>
<interceptor-stack name="loginStack">
<interceptor-ref name="loginInterceptor">
<param name="excludeMethods">login,register,read</param> </interceptor-ref>
<interceptor-ref name="defaultStack"></interceptor-ref>
</interceptor-stack>
</interceptors>
<default-action-ref name="loginStack"></default-action-ref>
<!-- 设置全局结果集 -->
<global-results>
<result name="toLogin" type="redirect">/login.jsp</result>
</global-results>
<global-exception-mappings>
<exception-mapping result="asd" exception="asd">/error.jsp
</exception-mapping>
</global-exception-mappings>
<!-- 由于配置了struts.object value=spring -->
<action name="userAction_*" class="userAction" method="{1}">
<result name="login">/login.jsp</result>
</action>
<action name="productAction_*" class="productAction" method="{1}">
<result name="addProduct">/addProduct.jsp</result>
<result name="productList">/productList.jsp</result>
</action>
<action name="orderAction_*" class="orderAction" method="{1}">
<result name="addOrder">/orderList.jsp</result>
</action>
<action name="categoryAction_*" class="categoryAction" method="{1}"> </action>
<action name="orderItemAction_*" class="orderItemAction" method="{1}"> </action> </package>
</struts>
struts2之配置文件struts.xml详解的更多相关文章
- Tomcat配置(二):tomcat配置文件server.xml详解和部署简介
*/ .hljs { display: block; overflow-x: auto; padding: 0.5em; color: #333; background: #f8f8f8; } .hl ...
- Tomcat(二):tomcat配置文件server.xml详解和部署简介
Tomcat系列文章:http://www.cnblogs.com/f-ck-need-u/p/7576137.html 1. 入门示例:虚拟主机提供web服务 该示例通过设置虚拟主机来提供web服务 ...
- Maven配置文件setting.xml详解
注:本文来源于:大话JAVA的那些事 <Maven配置文件setting.xml详解> <?xml version="1.0" encoding="UT ...
- Maven全局配置文件settings.xml详解(转)
Maven全局配置文件settings.xml详解 目录 一.概要 1.settings.xml的作用2.settings.xml文件位置3.配置的优先级 二.settings.xml元素详解 1 ...
- Logback简介及配置文件logback.xml详解
logback简介及配置文件说明 @author:wangyq @date:2021年3月31日 logback简介 Logback是由log4j创始人设计的另一个开源日志组件,官方网站: htt ...
- Struts2初学 struts.xml详解 一
一.简介 Struts 2是一个MVC框架,以WebWork设计思想为核心,吸收了Struts 1的部分优点 二.详解 首先让我们看一下一个简单的struts.xml文件的结构 < ...
- Struts2初学 Struts.xml详解二
A.使用继承实现设置全局视图 package节点中还可以设置全局的视图,如: <global-results> <result name="e ...
- 【学习笔记】Struts2之配置文件struts.xml
在默认情况下,Struts2只自动加载类加载路径下的struts.xml.default-struts.xml和struts-plugin.xml三类文件.但是随着应用规模的增大,系统中Action数 ...
- maven全局配置文件settings.xml详解
概要 settings.xml有什么用? 如果在Eclipse中使用过Maven插件,想必会有这个经验:配置settings.xml文件的路径. settings.xml文件是干什么的,为什么要配置它 ...
随机推荐
- request获取各种路径
equest.getRealPath() 这个方法已经不推荐使用了,代替方法是: request.getSession().getServletContext().getRealPath() 在ser ...
- Java常考面试题(经典)
什么是Java虚拟机?为什么Java被称作是“平台无关的编程语言”? Java虚拟机是一个可以执行Java字节码的虚拟机进程.Java源文件被编译成能被Java虚拟机执行的字节码文件. Java被设计 ...
- 穷举,迭代,while循环
1. 2.大马驼2石粮食,中等马驼1石粮食,两头小马驼1石粮食,要用100匹马,驼100石粮食,该如何分配? 3. 4. 5. 6.
- JQuery实现全选、全不选和反选功能
看重点就行了,最后面给一个网页完整的代码 代码实例: function selectStu() { $.ajax("StuList",{ type:"post" ...
- Oracle EBS FORM 更改记录状态
get到一个新的思路. 因为validate触发器是无法做go_block或者loop操作的,因此可以尝试修改数据块属性,将状态更新为改动的,触发 ON-UPDATE 触发器,将循环或者跳转语句加入到 ...
- SQL SERVER 查询与整理索引碎片
重建索引 use DATABASE_NAME; ) ) DECLARE @fillfactor INT DECLARE TableCursor CURSOR FOR SELECT OBJECT_SCH ...
- NSJSONSerialization 反序列化失败 NSCocoaErrorDomain Code=3840
NSJSONSerialization 反序列化失败 NSCocoaErrorDomain Code=3840 NSCocoaErrorDomain Code=3840 “No string key ...
- Windows Server 2016-Wbadmin命令行备份域控制器
在上一章我们讲到Windows Server 2016-图形化备份域控制器的方法,本章我们聊聊如何通过命令行Wbadmin对域控制器进行备份.在Windows Server Active Direct ...
- Linux 小知识翻译 - 「/proc 文件夹」
这次聊聊 「/proc 文件夹」. /proc 文件夹用来保管系统状态相关的文件的特殊文件夹,这个文件夹中有的文件只是内存上的虚拟文件. /proc 文件夹下有些文件可以反映各个进程的运行状态.所以说 ...
- 聚类——GAKFCM的matlab程序
聚类——GAKFCM的matlab程序 作者:凯鲁嘎吉 - 博客园 http://www.cnblogs.com/kailugaji/ 在聚类——GAKFCM文章中已介绍了GAKFCM算法的理论知识, ...