Struts2配置文件详解

一个框架配置文件是使用它的核心所以有很大的必要了解

配置文件(分多个文件配置是为了分组开发)

  1. 记住struts的配置文件要配置到src根目录下
  2. struts-base.xml文件详解这是struts2的基础配置文件必须的

    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE struts PUBLIC
    	"-//Apache Software Foundation//DTD Struts Configuration 2.5//EN"
    	"http://struts.apache.org/dtds/struts-2.5.dtd">
    <struts>
         <!-- 设置编码格式 -->
    	<constant name="struts.i18n.encoding" value="UTF-8" />
    	<!-- 用于jsp调试,配置这个jsp会报Struts的错 -->
    	<constant name="struts.devMode" value="true" />
    	<constant name="struts.configuration.xml.reload" value="true" />
    	<constant name="struts.i18n.reload" value="true" />
    <!-- 	动态方法调用 -->
    	<constant name="struts.enable.DynamicMethodInvocation" value="true" />
    
    <!-- name	是必须配置的	Package的表示,为了让其他的package引用 -->
    <!-- extends	否	从哪个package继承行为 -->
    <!-- namespace	否	参考Namespace配置说明 -->
    <!-- abstract	 否 -->
    <!-- 定义这个package为抽象的,这个package中不需要定义action -->
    <!-- 这里是因为分组开发所以将 -->
    	<package name="base" extends="struts-default" abstract="true">
    <!-- 	struts2.5之后动态调用需要匹配正则  不是很推荐使用 2.5之前不需要添加 -->
    		<global-allowed-methods>regex:.*</global-allowed-methods>
    	</package>
    </struts>

    用户基础文件struts-xx.xml分组开发时多个文件的配置 

       配置这个文件继承于刚才配置的基础文件用来配置action

<?xml version="1.0" encoding="UTF-8"?>

<!DOCTYPE struts PUBLIC

"-//Apache Software Foundation//DTD Struts Configuration 2.5//EN"

"http://struts.apache.org/dtds/struts-2.5.dtd">

<struts>

<!-- name 是必须配置的 Package的表示,为了让其他的package引用 -->

<!-- extends 否 从哪个package继承行为 -->

<!-- namespace配置之后方便分组开发  然后配置之后请求的时候注意加上名字空间的值 -->

<package name="sy"  extends="base"  namespace="/sy">

<action name="请求的action" class="你写的类的全路径限定名" method="方法名">

               <!-- 结果码的处理 -->

            <result name="方法返回值">/跳转地址</result>

        </action>

<!--         {1}代表*  jsp写法nameaction_add  method的值会自动转变为add-->

<!-- *可以有多个 -->

        <action name="nameaction_*_*" class="你写的类的全路径限定名" method="{1}">

               <!-- 结果码的处理 -->

            <result name="方法返回值">/跳转地址</result>

        </action>

</package>

</struts>

最后配置一个struts.xml文件这样能够很好的解决分组开发冲突问题

<?xml version="1.0" encoding="UTF-8"?>

<!DOCTYPE struts PUBLIC

"-//Apache Software Foundation//DTD Struts Configuration 2.5//EN"

"http://struts.apache.org/dtds/struts-2.5.dtd">

<struts>

<!-- struts的基本xml文件 -->

<include file="struts-default.xml"></include>

<!-- 刚才的基本文件 -->

<include file="struts-base.xml"></include>

<!-- n个配置文件 -->

<include file="struts-sy.xml"></include>

</struts>

当然如果不想这么写可以配置到一个struts.xml文件中

<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.5//EN" "http://struts.apache.org/dtds/struts-2.5.dtd">
<struts>
	<package name="default" namespace="/" extends="struts-default">
		<action name="Login" class="com.rcnjtech.action.LoginAction">
			<result name="success">/success.jsp</result>
			<result name="login">/index.jsp</result>
		</action>
	</package>
</struts>

 

配置web.xml  struts2过滤器

Idea是直接会生成的不需要配置,eclipse的全路径限定名可以通过ctrl+shift+t

可以直接搜索StrutsPrepareAndExecuteFilte找到全路径限定名

<?xml version="1.0" encoding="UTF-8"?>
<web-app id="WebApp_ID" 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">
	<display-name>Struts</display-name>
<filter>
<filter-name>struts2</filter-name>
<filter-class>org.apache.struts2.dispatcher.filter.StrutsPrepareAndExecuteFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
</web-app>

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值