Struts2-01-配置文件

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>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值