Struts2的配置
Struts2的配置
Struts2可以通过Convention插件管理Action和结果映射,也可以通过使用XML文件进行管理,这两种方式各有好处:使用Convention插件管理减少了XML文件的编写量,根据“约定”的方式寻找相关Action或结果映射,相对于使用XML文件配置便于开发,但最大的弊端是后期不利于维护和修改,所以建议考虑使用XML文件管理Struts2的配置信息。
常量配置:
Struts2的常量对应用的整体起作用,也被称为Struts2属性。
Struts2配置常量的方法有三种:
1.通过struts.properties文件进行配置:
struts.properties文件是一个标准的配置文件,在此文件中包含了许多的key-value对,其中key就是一个常量,value就是此常量的值。此文件在eclipse中也直接放在src目录下即可。
2.通过struts.xml文件进行配置;
在struts.xml中使用<constant>标签来配置常量,如下:
<?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.enable.DynamicMethodInvocation" value="false" />
<constant name="struts.devMode" value="true" />
<package name="test" extends="struts-default">
<!--
定义了名为test_1的Action;
处理请求的Action类为testAction.Test_1Action.java
-->
<action name="test_1" class="testAction.Test_1Action">
<!-- 定义逻辑视图与物理视图之间的映射关系 -->
<result name="error">/WEB-INF/error.jsp</result>
<result name="success">/WEB-INF/welcome.jsp</result>
</action>
</package>
</struts>
其中name属性就相当于struts.properties中的key,value属性就相当于struts.properties中的value。
3.通过应用的web.xml进行配置。
在web.xml配置StrutsPrepareAndExecuteFilter时也配置常量,这时的常量是初始化参数,如下所示:
<?xml version="1.0" encoding="UTF-8"?>
<web-app id="WebApp_9" version="2.4" xmlns="http://java.sun.com/xml/ns/j2ee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
<!-- 定义核心拦截器 -->
<filter>
<filter-name>struts2</filter-name>
<filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>
<!-- 在配置StrutsPrepareAndExecuteFilter时配置初始化参数 -->
<init-param>
<param-name>struts.enable.DynamicMethodInvocation</param-name>
<param-value>false</param-value>
</init-param>
</filter>
<!-- 使核心拦截器拦截所有的请求 -->
<filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
</web-app>
通常使用struts.xml配置常量。
Struts2中加载常量的搜索顺序:
1.struts-default.xml;
2.struts-plugin.xml;
3.struts.xml;
4.struts.properties;
5.web.xml。
当后一个配置文件中有与前一个配置文件中相同的常量时,后边配置文件中的常量会覆盖前面配置文件中的常量。
包含配置文件:
struts.xml中可以通过include导入配置文件。被导入的配置文件与标准的配置文件相同,只不过有不同的配置信息。
<?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.enable.DynamicMethodInvocation" value="false" />
<constant name="struts.devMode" value="true" />
<!-- 导入配置文件 -->
<include file="struts-test1.xml"/>
<package name="test" extends="struts-default">
<!--
定义了名为test_1的Action;
处理请求的Action类为testAction.Test_1Action.java
-->
<action name="test_1" class="testAction.Test_1Action">
<!-- 定义逻辑视图与物理视图之间的映射关系 -->
<result name="error">/WEB-INF/error.jsp</result>
<result name="success">/WEB-INF/welcome.jsp</result>
</action>
</package>
</struts>
Struts2的配置的更多相关文章
- Struts2 基本配置
Struts2是一个优秀的MVC框架,也是我比较喜欢用的框架.它个各种配置基本都可以集中在一个xml文档中完成.现在让我们看看如何简单几步实现常用功能. 一.搭建Struts2的开发环境 1)首先是利 ...
- Struts2 XML配置详解
struts官网下载地址:http://struts.apache.org/ 1. 深入Struts2的配置文件 本部分主要介绍struts.xml的常用配置. 1.1. 包配置: S ...
- struts2 action配置时 method 省略不写 默认执行方法是父类ActionSuppot中的execute()方法
struts2 action配置时 method 省略不写 默认执行方法是父类ActionSuppot中的execute()方法
- struts2环境配置
struts2环境配置 struts2框架,大多数框架都在使用.由于工作需要,开始做Java项目.先学个struts2. 一.下载struts2 有好多版本,我下载的是struts-2.2.1.1. ...
- 在Struts2中配置Action
在Struts2中配置Action <package>: 1.定义Action使用<package>标签下的<action>标签完成,一个<package&g ...
- Struts2的配置和一个简单的例子
Struts2的配置和一个简单的例子 笔记仓库:https://github.com/nnngu/LearningNotes 简介 这篇文章主要讲如何在 IntelliJ IDEA 中使用 Strut ...
- 1-1 struts2 基本配置 struts.xml配置文件详解
详见http://www.cnblogs.com/dooor/p/5323716.html 一. struts2工作原理(网友总结,千遍一律) 1 客户端初始化一个指向Servlet容器(例如Tomc ...
- spring+hibernate+struts2零配置整合
说句实话,很久都没使用SSH开发项目了,但是出于各种原因,再次记录一下整合方式,纯注解零配置. 一.前期准备工作 gradle配置文件: group 'com.bdqn.lyrk.ssh.study' ...
- struts2基本配置详解2
接上篇struts2基本配置详解,还有一些配置没有讲到,下面将继续. struts.xml <package name="com.amos.web.action" names ...
随机推荐
- linux下MYSQL备份与恢复
1.用命令实现备份 数据库备份是很重要的.如果定期做好备份,这样就可以在发生系统崩溃时恢复数据到最后一次正常的状态,把损失减小到最少.MySQLl提供了一个mysqldump命令,我们可以用它进行数据 ...
- C# WinForm动态添加MSChart控件
添加mschart.dll动态链接库 添加引用 System.Windows.Forms.DataVisualization MSChart控件作为方便的用户数据展示控件,可以方便的使用控件提 ...
- paper 43 :ENDNOTE下载及使用方法简介
转载来源:http://blog.sciencenet.cn/blog-484734-367968.html 软件下载来源: EndNote v9.0 Final 正式版:http://www.ttd ...
- oracle索引使用时注意
1.使用不等于操作符(<>, !=)下面这种情况,即使在列dept_id有一个索引,查询语句仍然执行一次全表扫描 select * from dept where staff_num &l ...
- 动态时间规整(DTW) 转载
Dynamic Time Warping(DTW)诞生有一定的历史了(日本学者Itakura提出),它出现的目的也比较单纯,是一种衡量两个长度不同的时间序列的相似度的方法.应用也比较广,主要是在模板匹 ...
- win7 IIS发布项目遇到的问题
问题一: HTTP 错误 404.3 – Not Found 由于扩展配置问题而无法提供您请求的页面.如果该页面是脚本,请添加处理程序.如果应下载文件,请添加 MIME 映射. 1.依次打开控制面板 ...
- C#和JavaScript交互(asp.net前台和后台互调)总结 (转)
http://www.cnblogs.com/poleices/archive/2011/02/24/1963727.html C#代码与javaScript函数的相互调用: 1.如何在JavaScr ...
- Main函数参数argc,argv说明
C/C++语言中的main函数,经常带有参数argc,argv,如下: int main(int argc, char** argv) int main(int argc, char* argv[]) ...
- SSAS计算列如果是中文名称时,必须要在名字外加中括号
在SSAS中建计算列的时候,如果你给计算列起的是中文名字,一定记住要在名字外加中括号,比如下面这个例子中我们建了一个叫 客服流失数 的计算列 下面图中没有在计算列名称上加中括号这是错误的,因为使用中文 ...
- MVC架构剖析--ASP.NET MVC图解(二)