1. struts.xml详解
1.1. bean
1.2. constant常量配置
常量可以在struts.xml, struts.properties, web.xml中设置
Struts-defacult.xml, struts-plugin.xml再加上以上三个文件,系统依次查找常量,后面的将覆盖前面配置文件设置的值。
前面三个文件的格式都是一样的,因为他们用的是一个DTD文件,在XML文件中constant元素有两个必须的属性,name和value,在struts.properties文件中每一个 entry都被视为一个常量,在web.xml文件中,FilterDispatcher的初始化参数被载入作为常量。
Struts.xml:
<constant name="struts.action.extension" value="do,action"/>
Web.xml:
<init-param>
<param-name>struts.i18n.encoding</param-name>
<param-value>GBK</param-value>
</init-param>
Struts.properties:
struts.i18n.encoding=GBK
1.3. package包本身的属性配置
Name 必须有 package的唯一标识,不允许同名
Extends 否 指定要扩展的包名
Namespace 否 指定命名空间
Abstract 否 声明为抽象的包【其中不能有action】
其中namespace属性可以将包中的action配置为不同的命名空间,这样的话就可以在不同的命名空间中使用同名action,struts2框架使用namesapce和name来标识一个action。
默认的命名空间是空字符串,也就是不设置命名空间时值,我们在匹配一个action的时候,先到其指定的命名空间中查找,如果找不到的话再到默认的命名空间中去查找。
Struts2还支持根【/】命名空间,当一个request直接请求context path下的资源时,struts2首先到根命名空间下去查找,,例如:页面请求为http://mywebproject/xxx.action,那么我们就首先到 “/”命名空间下去查找.
将不同的包放在命名空间下,可以对某些资源进行安全性防护,如Tomcat服务器本身
http://localhost:8080/ --> index.jsp --> Tomcat Manager
可以在apache-tomcat/conf/tomcat-users.xml中进行设置。
<role rolename="manager" />
<user username="zhanshan" password="123123" roles="manager" />
至于如何在web.xml中进行资源访问的安全性验证信息呢?以后有机会再学习一下吧。
1.4. Include包含配置
<include file="strust-gwb.xml"></include>
我们在开发的时候,往往是多人合作,一般情况下,集成配置文件很繁琐,但是struts2为我们解决了这个问题,每个开发人员可以依据相关规范创建自己的struts配置文件,只要在主配置文件中按照相应的次序加载到struts.xml中就可以了
<!--EndFragment-->