云题海 - 专业文章范例文档资料分享平台

当前位置:首页 > Struts2配置详解1 基本元素介绍

Struts2配置详解1 基本元素介绍

  • 62 次阅读
  • 3 次下载
  • 2025/12/10 3:24:58

extends=\>

class=\>

/mysqldatabase.jsp

class=\>

/mysqldatabase.jsp

如果请求/database/mysql.action,框架将首先查找

/database名称空间,如果找到了,则执行mysql.action,如果没有找到,则在默认名称空间中继续查找。

如果请求/database/oracle.acion。框架将会在/database空间中查找oracle这个action,因为/database空间不存在oracle这个action,所以,默认空间的oracle将会被找到并被执行.

如果请求/oracle.action,框架将会在根名称空间(‘/’)中查找oracle.action,如果没有找到,则在到默认名称空间下去查找。

如果请求/mysql.action,框架则首先到根名称空间(‘/’)下去查找,因为没有根名称空间(‘/’)下没有mysql.action,所以,默认空间的mysql.action则会被执行。

这里需要注意的是,名称空间和文件系统的路径,具有多级目录不同,名称空间只有一个级别。例如,请求URL:/myspace/database/mysql.action,框架将首先在/myspace/database名称空间查找,如果没有找到,则直接到默认的名称空间去查找。框架并不会将名称空间解析为一系列的“文件夹”。

不同的包,可以定义相同的名称空间,但是同一个名称空间下,包名不能相同。,

5> 包含(include)配置

在一些大型项目中,为了降低项目的复杂度,便于团队成员分工协作,通常会将

项目划分为多个较小的模块,每个模块单独开发和管理。为此,Struts2提供了 include元素来解决这个问题。我们可以为每个模块单独提供一个配置文件,对其进行配置,然后在struts.xml中使用include这个元素来包含其他的配置文件。

Include元素只有一个必须的属性file,指定被包含文件的文件名。看一些

Struts2自带的showcase例子中的例子:

\

2.0//EN\\>

5

这是struts-char.xml的代码片段:

\

2.0//EN\\>

namespace=\>

这里要注意的是,每一个被包含的文件都必须和sruts.xml具有相同的格式,也

就是说,被包含的文件,本身也是完整的配置文件。也要按照struts-2.0.dtd中的定义。

由于Struts2是按照Web应用程序的CLASSPATH查找被包含的文件,所以,被包

含的文件通常都放在WEB-INF/classes目录下,和struts.xml一起。当然,你也可以将配置模块放在对应的Java包下,例如,如果将配置文件

struts-user.xml放在了包org.lessones.ch05下,在struts.xml文件中

包含struts-user.xml文件时,就需要写成:

6>拦截器(Intercept)配置:

拦截器允许你在action的执行前后插入代码执行。Struts2中的拦截器是功能很

强大的工具,它可以为action动态添加输入验证,对象组装,权限控制,日志记录等功能,而不需呀修改action.

要为action配置引用的拦截器,首先需要在interceptors元素中使用

interceptor元素定义拦截器,然后在action中使用interceptor-ref元素指定引用的的拦截器.interceptor有两个必须的属性:name和class,前者指定拦截器的名字,后者指定拦截器的完整类名。

假设我们要为UserAction配置两个拦截器logger和security,配置文件编写

如下:

/chat/roomSelection.ftl

6

class=\/>

class=\/>

/user.jsp

拦截器按照action引用拦截器的顺序执行。

如果一个action需要多个拦截器,引用他们也是一件麻烦事,我们可以将多个 拦截器组合在一起,组成一个拦截器栈,然后在action中直接调用拦截器栈就可 以了。

配置文件如下:

class=\/>

class=\/>

/user.jsp

7

拦截器按照它们在拦截器栈中定义的顺序执行。

在引用拦截器时,Struts2并不区分拦截器和拦截器栈,所以,在定义拦截器时,

也可以引用其他的拦截器栈。

如果多个action都需要引用相同的拦截器栈,我们可以使用

default-interceptor-ref元素来定义一个默认的拦截器或者拦截器栈引用,这样,就不需要为每个action指定引用信息了。

定义默认的拦截器栈:

class=\/>

class=\/>

/user.jsp

这里要注意的是,如果在一个action中定义了其他的拦截器的引用,那么这个 action将不再使用默认的拦截器的引用了。

如果action想要在默认拦截器引用的基础上添加新的拦截器,那么只能在 action中重新配置默认拦截器引用中的拦截器栈。

/user.jsp

8

Struts2提供的默认配置文件struts-default.xml定义了默认的拦截器栈的引 用,对于大多数Web应用程序来说,已经够用了。

这里需要注意的是:拦截器栈都是在包中定义的,在一个包中不能引用其他包中定义 的拦截器,除非这两个包有继承关系.

9

搜索更多关于: Struts2配置详解1 基本元素介绍 的文档
  • 收藏
  • 违规举报
  • 版权认领
下载文档10.00 元 加入VIP免费下载
推荐下载
本文作者:...

共分享92篇相关文档

文档简介:

extends=\> /mysqldatabase.jsp /mysqldatabase.jsp

× 游客快捷下载通道(下载后可以自由复制和排版)
单篇付费下载
限时特价:10 元/份 原价:20元
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:fanwen365 QQ:370150219
Copyright © 云题海 All Rights Reserved. 苏ICP备16052595号-3 网站地图 客服QQ:370150219 邮箱:370150219@qq.com