Struts2开发(一、基础配置)

《Struts2权威指南》导读101-87=14.

1.Bean配置

Struts2是高度可扩展性框架,框架内的大部分核心类组件都是用IOC进行控制的。

大多数情况下,不需要我们去修改Struts2的核心类。Bean配置需要深入了解Struts2框架的源代码,一般只是作为了解。

Struts2核心组件的配置都在D:\j2ee\struts2\struts-2.3.4.1\lib\struts2-core-2.3.4.1.jar\struts-default.xml中。

 

2.常量配置

在struts.properties中配置是为了保证webwork的向后兼容性。

常量可以在如下配置文件中进行配置,按照以下顺序搜索配置信息,下面的覆盖上面的:

struts-default.xml

struts-plugin.xml

struts.xml一般在此文件或此文件的扩展文件中配置

struts.properties

web.xml

不管是哪个文件中,都必须指定name、value两个属性。

struts.xml中配置:

<struts>

    <constant name="struts.custom.i18n.resources" value="mess" />

</struts>

 

 

3.包配置

Struts2使用包来管理核心组件的Action、拦截器等。

配置package时,必须指定name属性;还可以指定可选的extends属性,继承所选包的拦截器、拦截器栈、Action等配置;也可以指定可选的abstract属性,指定后定义的包为抽象包,不能定义Action配置。

Struts2的配置文件默认是从上往下加载的,定义的extends的包必须在子包之前。

 

4.命名空间配置

同一个命名空间里不能有同名的Action;

为包指定namespace属性时,请求的URL为http://localhost:8080/namespace/book/GetBooks.Action;

如果包没有指定namespace属性,则默认的命名空间总是"";

namespace="/",根命名空间。

如果请求的URL为/barspace/Bar.Action,则系统首先会在/barspace命名空间中寻找Bar.Action,如果找不到,会在默认命名空间中查找。

如果请求的URL为/Bar.Action,则系统首先会在/根命名空间中寻找Bar.Action,如果找不到,会在默认命名空间中查找。

 

5.包含配置

包含配置体现的是分而治之的概念,也就是把一个配置文件分为多个配置文件,让文件变得更加清晰有序。

<include file="struts-busz1.xml" />
<include file="struts-busz2.xml" />
<include file="struts-busz3.xml" />

这些文件统一放在WEB-INF/classes/根目录下。

 

6.拦截器配置

拦截器允许在Action处理结束之前、处理结束之后插入开发者自定义的代码。

拦截器可以做如下操作:权限控制、日志跟踪、性能跟踪。。。

多个拦截器可以组成一个拦截器栈(相对于Struts2而言,拦截器栈也是拦截器)。

<!-- 权限拦截器 -->
<inceptor name="authority" class="lee.AuthoryInceptor" />
<!-- 日志拦截器 -->
<inceptor name="log" class="lee.LogInceptor" />
<!-- 定义一个拦截器栈 -->
<inceptor-stack name="authorityandlog">
<!-- 定义拦截器里包含authority拦截器 -->
    <inceptor-ref name="authority" />
    <inceptor-ref name="log" />
</inceptor-stack>
</inceptors>

<action name="login" class="com.chenw.action.LoginAction">
    <result name="success">/welcome.jsp</result>
    <result name="error">/error.jsp</result>
    <!-- 引用拦截器 -->
    <interceptor-ref name="authorityandlog" />
</action>

 

posted on 2012-11-16 14:16  wean  阅读(589)  评论(0编辑  收藏  举报

导航