Struts2配置文件

Struts2框架有很多个配置文件,分别用于配置不同的内容,其中部分是Struts框架默认的配置文件,开发者不能修改。在项目执行时,Struts2框架有序的加载所有配置文件。

1.1 Struts2配置文件的加载顺序

在Struts2中,如果两个配置文件中对同一属性进行了配置,则后加载的配置文件中的配置会覆盖先加载的配置文件中的配置。

Struts2配置文件的加载顺序:

default.properties
struts-default.xml
struts-plugin.xml
struts.xml
struts.properties
web.xml

其中,前三个是默认配置文件,进行开发时不需要关心。struts.xml是由用户定义的,是Struts2的核心配置文件,用来配置Action以及Struts2常量。struts.properties由用户定义,用来配置Struts2常量。web.xml用来配置Struts2的核心过滤器(必须)及Struts2常量。

1.2 Struts2配置Action

Struts2的核心配置文件是一个名称固定的文件:struts.xml。该文件主要用来配置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><package name="demoProject" extends="struts-default" namespace="/"><action name="ActionDemo1" class="com.mvc.action.ActionDemo1"><result name="success">/WEB-INF/jsp/view.jsp</result></action></package>
</struts>

1.1.1 package元素配置

Struts2框架的核心组件是Action和拦截器,Struts2使用包将Action和拦截器进行分类管理,其原理类似于java中的包,主要作用就是避免类重名,同时方便进行调用,易于扩展。
在struts.xml文件中,package元素用于定义包

package元素的常用属性:

属性 含义
name 必须,指定包名,包之间可以通过包名调用
namespace 可选,定义包的名称空间,和name属性一同决定了Action类的位置
extends 可选,该属性用来配置包的父包,子包可以继承父包中的Action定义,拦截器定义,通常配置为struts-default,使自定义的包具有Struts框架默认的拦截器功能
abstract 可选,指定该包是否是一个抽象包,抽象包中不能包含Action定义

1.1.2 action元素配置

Action映射是Struts2框架中的基本“工作单元”,Action映射就是将一个请求的URL映射到一个Action类,Action来完成请求的处理。
在struts.xml文件中,使用action元素来配置Action

action元素的常用属性:

属性 含义
name 必须,指定与Action对应的URL请求
class 可选,指定与Action对应的Action实体类,需要配置java类的全路径
method 可选,指定请求方法,如果不指定此属性,则执行默认的名称为execute的方法
converter 可选,指定类型转换器的实体类

1.3 Struts2常量的配置

开发者可以通过配置Struts2常量灵活的选择Struts2中的一些功能。Struts2中的常量都在Struts2的默认配置文件default.properties中进行了配置,开发者进行的重新配置会覆盖默认配置。
Struts2常量的配置的配置方式有3种:1)在struts.xml文件中使用constant元素配置。2)在struts.properties文件中配置。3)在web.xml文件中通过init-param元素配置

1.在struts.xml文件中配置

在struts.xml文件中使用constant元素配置常量,constant有两个属性,name和value,分别用来指定常量的名称和常量的值。例:

<struts><constant name="struts.devMode" value="false" /><constant name="struts.objectFactory" value="spring"/>
</struts>

2.在struts.properties文件中配置

struts.properties是一个properties格式的文件,按照key-value的方式配置常量,key即常量名,value即常量值。例:

struts.devMode=false
struts.objectFactory=spring

3.在web.xml文件中配置

在核心过滤器StrutsPrepareAndExecuteFilter的配置中可以添加init-param元素来配置常量。例:

<filter><filter-name>struts2</filter-name><filter-class>org.apache.struts2.dispatcher.filter.StrutsPrepareAndExecuteFilter</filter-class><init-param><param-name>struts.devMode</param-name><param-value>false</param-value></init-param></filter>

Struts2-01-配置文件相关推荐

  1. struts2默认配置文件 struts-default.xml

    注:用的struts2的版本是2.1.6 strtus2的默认配置文件 struts-default.xml ,其中的默认的拦截器,包括其中的拦截器栈. 因为struts2的配置文件struts.xm ...

  2. 解决Struts2的配置文件struts.xml文件无提示问题

    1.在上一篇文章Struts2搭建开发环境并编写第一个Struts2应用 中,详细的图解介绍了如何搭建Struts2开发环境和编写第一个Struts2应用,其中struts2的配置文件struts.x ...

  3. 六、Struts2的配置文件

    六.Struts2的配置文件 1.default.properties:在struts2-core-**.jar的org.apache.struts包中 关于Struts2一些常量配置(框架内部) s ...

  4. struts2 mysql配置文件路径_Struts2(四)Struts2配置文件的配置

    Struts2的常见配置 1.Struts2的配置文件的加载顺序: 每次从客户端发送到请求到服务器都要先从Struts2的核心过滤器StrutsPrepareAndExeccuteFilter,这个过 ...

  5. struts2 mysql配置文件路径_Struts2 配置文件

    本章将带你通过一个Struts2应用程序所需的基本配置.在这里,我们将看到在一些重要的配置文件,将配置文件:web.xml ,struts.xml,struts-config.xml和struts.p ...

  6. Struts2 之配置文件编写,动作类(01)

    学习路线: 1.struts入门(配置文件编写,动作类的编写及其访问方式) 2.封装数据和访问Servlet的api 3.ognl和值栈 4.拦截器和注解开发 struts2基本概念 Struts2是 ...

  7. struts2的配置文件

    1.web.xml 2.struts.xml 主配置文件 <Bean>配置(用来扩展struts2的功能) 属性:class:全路径名 type:实现的接口 name:bean的名字,在具 ...

  8. struts2之配置文件struts.xml详解

    struts配置文件 struts.xml配置参数详解 struts.xml中很大一部分配置默认配置就好了 但是有些还是需要做了解  以便于理解 和修改 <?xml version=" ...

  9. Struts2的配置文件——web.xml

    2019独角兽企业重金招聘Python工程师标准>>> 任何MVC框架都需要与Web应用整合,这就不得不借助于web.xml文件,只有配置在web.xml文件中Servlet才会被应 ...

  10. Struts2的配置文件struts.xml详解

    <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE struts PUBLIC "-/ ...

最新文章

  1. SAP MM 不常用事务代码MIDO
  2. 自动随机逐层剪枝openpose
  3. 基于Javaweb实现人力资源管理系统
  4. golang 获取切片 slice 第一个 最后一个 元素
  5. [转] Oracle中Blob转Clob
  6. html5仪表板可调节,使用HTML5画布实现的超棒javascript动画仪表板:gauge.js
  7. python科学计算笔记(十四)pandas数据过滤、清理、转换
  8. su联合推拉插件_[实习小记一一SU建模]
  9. vs无法写入量的大数据_一个每天服务数万人的企业食堂:自助餐按重计价,大数据支持食材预备量...
  10. 我的世界服务器虚拟菜单插件,[综合|娱乐|管理][比赛]VirtualMenu——支持多种类型GUI的虚拟菜单[1.7.10~1.14]...
  11. 工程数学(数值分析)第五讲:数据拟合
  12. 堆排序的应用-优先级队列
  13. 判断完全二叉树(顺序存储)
  14. Vue项目里面使用jsmind.js插件来制作思维导图页面完成需求
  15. Java去掉字符串首尾的““
  16. ISIS Neighbor Net Type DIS
  17. 负数在计算机中到底是如何表示的
  18. Spice Model 解读
  19. SAP选择屏幕开发(一)
  20. Android开发:调用系统图库选择图片

热门文章

  1. python怎么弄成黑色背景图片_怎么能把图片的黑色背景改成透明背景
  2. 谷粒商城:10.商品服务 — 属性分组
  3. 实战:详解Reaact+AntD+Node后台管理系统
  4. EasyUI:datagrid分页显示+嵌入select下拉选项框
  5. 实战HTML:花瓣网
  6. Git:常用命令(自用)
  7. 图像处理_OpenCV图像增强算法实现(直方图均衡化、拉普拉斯、Log、Gamma)
  8. 关于python保存再打开后的中文乱码的问题
  9. 一款好用的绘图软件Draw.io,比Visio好用
  10. jquery实现无限滚动瀑布流实现原理