struts2配置文件struts.xml的简介
本文在于总结,深入研究有别人写的很好了,也没必要再去写,将在本文后面附上他们的文章地址:
一、struts2的执行过程:
二、struts2的配置文件struts.xml
下面是其三大部分include、constant、package的配置说明,骨架这样,做的时候参考API就行了:
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.1//EN" "http://struts.apache.org/dtds/struts-2.1.dtd">
<struts>
<!-- 一、include -->
<!-- 用途:用于引入外部子文件,将其内容插入本文件。-->
<!-- 假设有子文件struts-login.xml,内容如下:
<?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>
<package name="LoginActions" extends="struts-default">
<action name="login" class="actions.LoginAction">
<result name="success">index.jsp</result>
</action>
</package>
</struts>
-->
<include file="struts-login.xml"/> <!-- 二、constant -->
<!-- 用途:所有在struts.properties文件中定义的属性,都可以配置在struts.xml文件中。-->
<constant name="struts.devMode" value="true"/> <!-- 三、package -->
<!-- 用途:管理interceptor、action、exception配置信息的。-->
<package name="SQLActions"> <!-- 3.1 interceptor -->
<!-- 用途:管理interceptor配置信息的。-->
<!-- 对应的就有<default-interceptor-ref name="defaultStack"/>-->
<interceptors>
<!-- 过滤器 -->
<interceptor name="security" class="com.company.security.SecurityInterceptor"/>
<!-- 过滤器栈,执行顺序按先后 -->
<interceptor-stack name="secureStack">
<interceptor-ref name="security"/>
<!-- struts2默认过滤器,定义在struts.jar包中的struts-default.xml -->
<interceptor-ref name="defaultStack"/>
</interceptor-stack>
</interceptors> <!-- 3.2 action -->
<!-- 用途:管理action配置信息的。-->
<!-- 对应就有默认的action<default-action-ref name="UnderConstruction"/>-->
<!-- 定义处理请求URL为login.action的Action -->
<action name="userLogin" class="org.qiujy.web.struts2.action.LoginAction">
<!-- 定义初始化参数-->
<param name="actionName">LoginInput</param> <!-- 定义处理结果,对应就有全局结果 <global-results> -->
<!-- result type表示接下来做什么,默认是dispatcher -->
<result name="success" type="dispatcher">/success.jsp</result>
<result name="error">/error.jsp</result> <!-- 定义异常处理,对应就有全局异常处理 <global-exception> -->
<exception-mapping exception="java.IO.Exception" result="error"/> <!-- interceptor的执行代码包裹着action的执行代码,执顺序详细见下面参考文章地址-->
<interceptor-ref name="securityStack"/>
</action> </package>
</struts>
三、参考文章
Struts2 API官网:http://struts.apache.org/release/2.2.x/docs/core-developers-guide.html
struts2 struts.xml的详细解析1:http://www.cnblogs.com/fmricky/archive/2010/05/20/1740479.html
struts2 struts.xml详细解析2:http://blog.csdn.net/zz_mm/article/details/5460397
struts2 拦截器的执行顺序:http://takeme.iteye.com/blog/1651498
struts2配置文件struts.xml的简介的更多相关文章
- struts2总结三:struts2配置文件struts.xml的简单总结
一.struts中的常量constant的配置. 在struts2中同一个常量的配置有三种方式,第一种在struts.xml中,第二种在struts.properties中配置,第三种在web.xml ...
- Struts2配置文件struts.xml的编辑自动提示代码功能
第一步:复制struts.xml头部地址 第二步:Window --->Preferences 第三步:XML--->XML Catalog--->Add 第四步:在Key中粘贴复制 ...
- struts2配置文件(struts.xml)中相关属性的设置
<?xml version="1.0" encoding="UTF-8" ?><!DOCTYPE struts PUBLIC "-/ ...
- struts2之配置文件struts.xml详解
struts配置文件 struts.xml配置参数详解 struts.xml中很大一部分配置默认配置就好了 但是有些还是需要做了解 以便于理解 和修改 <?xml version=" ...
- JavaWeb_(Struts2框架)struts.xml核心配置、动态方法调用、结果集的处理
此系列博文基于同一个项目已上传至github 传送门 JavaWeb_(Struts2框架)Struts创建Action的三种方式 传送门 JavaWeb_(Struts2框架)struts.xml核 ...
- 【学习笔记】Struts2之配置文件struts.xml
在默认情况下,Struts2只自动加载类加载路径下的struts.xml.default-struts.xml和struts-plugin.xml三类文件.但是随着应用规模的增大,系统中Action数 ...
- struts2:struts.xml配置文件详解
1. 几个重要的元素 1.1 package元素 package元素用来配置包.在Struts2框架中,包是一个独立的单位,通过name属性来唯一标识包.还可以通过extends属性让一个包继承另一个 ...
- struts2中struts.xml配置文件详解【未整理】
1. 深入Struts2的配置文件 本部分主要介绍struts.xml的常用配置. 1.1. 包配置: Struts2框架中核心组件就是Action.拦截器等,Struts2框架使用包来管 ...
- Struts2更改配置文件struts.xml默认路径
struts2配置文件默认存放路径在/WEB-INF/classes目录下,即将struts.xml放在src的目录下. 但是为了协作开发与方便管理,我们有时需要把struts.xml放到其他位置 s ...
随机推荐
- HDU 1026 Ignatius and the Princess I(BFS+优先队列)
Ignatius and the Princess I Time Limit:1000MS Memory Limit:32768KB 64bit IO Format:%I64d &am ...
- 推荐大家一本学习php模式的书
对我来讲,写程序不是码代码,不想只是简单的将类拿来调用,然后功能实现了,可是以后要做一些扩展或者是修改就要对代码大刀阔斧. 在网站的开发过程中,使用一些框架,团队就可以在一定的程度上,分工合作.但是当 ...
- socket基础(二)
Microsoft.Net Framework为应用程序访问Internet提供了分层的.可扩展的以及受管辖的网络服务,其名字空间System.Net和System.Net.Sockets包含丰富的类 ...
- 互斥体与互锁 <第五篇>
互斥体实现了“互相排斥”(mutual exclusion)同步的简单形式(所以名为互斥体(mutex)).互斥体禁止多个线程同时进入受保护的代码“临界区”.因此,在任意时刻,只有一个线程被允许进入这 ...
- SQL学习笔记——SQL初入门,Ubuntu下MySQL的安装
刚开始接触sql,于是准备在Ubuntu下学习sql,就跟着itercast的sql教程开始入门了. 下面只是我个人的记录,高手请绕道: 一. 在安装之前,我们可以用下面这个命令通过开放端 ...
- MFC DestroyWindow窗口对象和窗口句柄的销毁
考虑单窗口情况: 假设自己通过new创建了一个窗口对象pWnd,然后pWnd->Create.则销毁窗口的调用次序: 1. 手工调用pWnd->DestroyWindow(): 2. De ...
- 配置VirtualBox Linux系统与Windows共享文件
手动方式配置VirtualBox Linux系统与Windows共享文件 首先,要安装VirtualBox自带的扩展工具,这个ISO可以在虚拟主机安装目录下找到. 将这个文件Copy到你的Linux主 ...
- 详细介绍Qt,ffmpeg 和SDL开发
Qt 与 ffmpeg 与 SDl 教程是本文要介绍的内容,从多个角度介绍本文,运用了qmake,先来看内容. 1. 注释 从“ #” 开始,到这一行结束. 2. 指定源文件 1. ...
- Windows Server 2008 R2 开启Win7主题效果Aero
1.打开 开始---管理工具----服务器管理器--功能 2.点击 “添加功能”,选择“桌面体验”,这样就会安装上win7 主题和Windows media player 3.重启电脑后,在“服务”里 ...
- 《Qt编程的艺术》——5.1 手动布局
在传统的GUI设计中,每个控件(Widget)都要手动地绑定在窗口之上的一个点上(也就是说,这个控件被指定成了给定GUI元素的父对象),同时还要指定这个控件的高度和宽度.作为所有图形元素的基础类,QW ...