Struts的配置文件之Struts.xml

Struts.xml作为struts2的一个非常重要的一个配置文件,掌握他对于灵活使用struts来说有很大好处。

这篇文章我准备将struts2中对于该文件的配置详详细细地剖析一遍。

一、从最简单开始

<?xml version="1.0" encoding="UTF-8" ?>  
<!DOCTYPE struts PUBLIC   
"-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"   
"http://struts.apache.org/dtds/struts-2.0.dtd">  
  
<struts>  
  
</struts> 

 

这是最简单的struts配置文件,该文件内容应该是任何一个struts2的配置文件里面都应该包含的内容,因此放在这里,在任何需要的时候,直接复制粘贴到自己的工程里面就可以了。

struts.xml的配置文件应该被放置在src目录底下,这样就可以被web工程找到,该文件才能生效。

 

二、struts标签中可以直接包含的内容

在struts.xml定义文件中有如下定义

<!ELEMENT struts (package|include|bean|constant)*>

 说明了该标签中可以包含package、include、bean以及contant标签

 

2.1、package标签

package是非常重要的标签,这个标签在任何一个sturts配置文件中似乎都是必不可少的,因为他是包含着action的标签,他管理着对应的一组Action、Result、Interceptor。Package有些像对象,可以继承其他的Package,也可以被其他package继承,甚至可以定义抽象的Package。

先请看Package的一个定义

 

<package name="default" namespace="/" extends="struts-default"></package>

 

Package标签里面有以下几个属性,各个属性的说明先参考以下再来细细说明:

 

 

属性是否必须说明
namePackage的表示,为了让其他的package引用,一个唯一性id类似的变量
extends表示继承哪个package,该处如果有值的话就是另外一个Package的name
namespacenamespace是表示一个访问路径相关的配置
abstract表示该Package是抽象的。可以不包含Action的配置

 

注意:
struts.xml文件是自上而下解析的

 2.1.1、name除了在package里面被引用的时候被用到以外,没有更多的需要了解的地方了。

 

 2.2.2、由于struts.xml文件时自上而下解析的,因此在这里配置extends的时候需要弄清楚,被extends的package是否已经被定义了。

 

 2.2.3、namespace的作用是将Action分成逻辑上不同的模块,这样同java代码里面包的作用就一致起来了,同样的一个index.action如果namespage不同,就是访问的不同的Action,如果用户在页面的地址栏里面敲入了/blog/index.action和/pic/index.action一看就是在访问博客的首页和相册的首页。

 

 

2.2、include标签

在web应用中,struts的配置可能是很多很多的,“一不小心”在一项工程里面可能就会有上千行,因此如果可以将这些配置按照功能对其分类,写到不同的文件中就可以使得每一个配置文件都变得相对简单得多,容易维护。include标签的作用也在于此。下面是一个例子:

<struts>  
    <include file="security.xml"/>  
    <include file="mainpages.xml"/>  
</struts>  

 

 

2.3、bean标签

该标签先暂缓介绍,如果有人急需的话可以留言,我尽快补充起来

 

2.4、contant标签

我们先来看下它所存在的形式

<constant name="struts.devMode" value="true" />

contant标签是对于struts中的一些常量进行配置,以name和value的形式来配置,这些常量都可以在struts的另外一个配置文件中(struts.properties)找到。

最经常见到的配置项目以及他们的含义:

 

    <!--允许动态方法调用 称为DMI 这种模式下可以用actionname!methodname.action的方式来访问-->
    <constant name="struts.enable.DynamicMethodInvocation" value="true" />
    <!-- 这种模式就是可以动态加载,动态修改struts的配置项 -->
    <constant name="struts.devMode" value="true" />

 当然可以添加更多的配置项,更详细的配置用法说明请参见《struts2的struts.properties配置文件详解》

 

 

(写这篇文档是在我个人使用和对struts2的认知以及查看了一些相关文档后做的,里面一定有一些不尽完美的地方,但是我会不断地修正,希望如果大家看了对我这里有什么意见请给我提醒,谢谢)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
资源包主要包含以下内容: ASP项目源码:每个资源包中都包含完整的ASP项目源码,这些源码采用了经典的ASP技术开发,结构清晰、注释详细,帮助用户轻松理解整个项目的逻辑和实现方式。通过这些源码,用户可以学习到ASP的基本语法、服务器端脚本编写方法、数据库操作、用户权限管理等关键技术。 数据库设计文件:为了方便用户更好地理解系统的后台逻辑,每个项目中都附带了完整的数据库设计文件。这些文件通常包括数据库结构图、数据表设计文档,以及示例数据SQL脚本。用户可以通过这些文件快速搭建项目所需的数据库环境,并了解各个数据表之间的关系和作用。 详细的开发文档:每个资源包都附有详细的开发文档,文档内容包括项目背景介绍、功能模块说明、系统流程图、用户界面设计以及关键代码解析等。这些文档为用户提供了深入的学习材料,使得即便是从零开始的开发者也能逐步掌握项目开发的全过程。 项目演示与使用指南:为帮助用户更好地理解和使用这些ASP项目,每个资源包中都包含项目的演示文件和使用指南。演示文件通常以视频或图文形式展示项目的主要功能和操作流程,使用指南则详细说明了如何配置开发环境、部署项目以及常见问题的解决方法。 毕业设计参考:对于正在准备毕业设计的学生来说,这些资源包是绝佳的参考材料。每个项目不仅功能完善、结构清晰,还符合常见的毕业设计要求和标准。通过这些项目,学生可以学习到如何从零开始构建一个完整的Web系统,并积累丰富的项目经验。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值