strut2.0中的struts.xml配置文件详细说明

struts.xml

 

<?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>
     <!-- 在src下面的struts.xml中引入org.tstruts2.com中的astruts.xml配置文件 -->
      <include file="./org/tstruts2/com/ astruts.xml "></include>
      </struts>

 

总结说明:用struts.xml当做目录,来存放其它的功能模块的配置文件。用<include file=""></include>引入即可。

               注意路径别写错了。

 

 

astruts.xml

 

<?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>


      <package name="org.tstruts2" namespace="/cc" extends="struts-default">
      
      <action name="td" method="lu" class="org.tstruts2.com.Test">
             <result name="success">./success.jsp</result>
             <result name="false">./false.jsp</result>
      </action>
      </package>
      </struts>

 

解释一下<package  name="",namespace="",extends="",

             abstract="" ,externalReferenceResolver="" >里面个个属性的作用</package>

 

           1、

               name : package 的name 是唯一的。配置文件中可能有很多package包,

                但是包中 name必须唯一。

 

      2、

       namespace=""点击超链接

 

      3、 

          extends 该package 要继承的package 的名字, 在新的命名空间下, 可以使用所有继

          承自另外一个package 的配置信息( 包括Action 配置). 通常每个包都应该继承

struts-default包,因为struts2很多核心的功能都是拦截器实现的.如:从请求中把请求参数封装到Action中/文件上传/数据验证等都是通过拦截器实现的.struts-default定义了这些拦截器和Result类型.可以这样说,只有当包继承了struts-default时,才能使用strut2中提供的核心功能.struts-default包是在struts2-core.2.x.x.jar文件中的struts-default.xml中定义.struts-default.xml也是struts2的默认配置文件.当struts2每次启动的时候,都会自动加载struts-default.xml配置文件

 

       4、        abstract的默认值是false。

 

<package name="struts-default" abstract="true">   


在struts-default.xml的第73行配置<package/>时,声明了一个abstract="true" 属性
我们发现这个包中声明了结果类型、拦截器等等,却唯独没有声明<action/> 的配置
但是在我们自己定义的struts.xml 中有若干个<action/>的配置
因此abstract="true" 表示当前包是抽象包,所以当前包中不允许出现<action/> 的配置
抽象包的作用极类似于Java抽象类。自己不能实例化,只能被继承,然后由子类实现它的若干方法,最后由子类实例化
所以struts-default包中不能包含任何<action/>定义,具体的定义则是由其子包来定义的

 

我想问的是怎么继承,怎么被子类实例化。???

 

 

   5、externalReferenceResolver:用来整合第三方类库,如Spring

 

   package提供了将多个Action组织为一个模块的方式 package的名字必须是唯一的 package可以扩展
当一个package扩展自另一个package时该package会在本身配置的基础上加入扩展的package 的配置
父package必须在子package前配置 name:package名称 extends:继承的父package名称
abstract:设置package的属性为抽象的抽象的package不能定义action 值true:false
namespace:此package命名如果不设定默认为RootContext,该命名空间影响到url的地址,例如此命名
空间为/test那么访问是的地址为
 http://localhost:8080/struts2/test/XX.action 
externalReferenceResolver:用来整合第三方类库,如Spring

externalReferenceResolve r="类库"> 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值