Struts2 Convention 插件详解:零配置实践
需积分: 9 116 浏览量
更新于2024-09-14
收藏 51KB DOC 举报
"Struts2 Convention Plugin 是一个用于实现Struts2框架零配置的插件,从Struts2.1版本开始被推荐使用,替代了之前的Codebehind插件。这个插件允许开发者无需编写XML配置文件或者使用注解,而是通过约定的方式来自动配置Action。"
Struts2 Convention 插件的原理与使用方法:
Struts2 Convention 插件的核心理念是“约定优于配置”,它简化了传统Struts2框架中繁琐的XML配置过程。在使用该插件时,开发者只需遵循一定的规则,Struts2会自动识别并配置Action。
1. 添加依赖:
首先,需要将`struts-Convention-plugin-2.1.6.jar`文件添加到项目的`WEB-INF/lib`目录下,确保插件可以被正确加载。
2. 自动扫描与Action识别:
Convention插件会自动扫描特定的包下(通常是`action`, `actions`, `struts`, `struts2`)的所有Java类。它会识别两种类型的类作为Action:
- 实现了`com.opensymphony.xwork2.Action`接口的类。
- 类名以`Action`结尾的类。
3. 配置常量调整:
- `struts.Convention.exclude.packages`:这个常量用于指定不扫描的包,以避免某些类被误识别为Action。例如,如果设置了`struts.Convention.exclude.packages=util`,那么`util`包下的类将不会被自动映射为Action。
- `struts.convention.package.locators`:此常量定义了搜索Action的起始包。默认情况下,Action的命名空间基于类的包结构。如果设置为`fore`,那么`actions.fore.LoginAction`会被映射到`/login`而不是默认的`/fore/login`。
- `struts.convention.action.packages`:这个常量用来指定额外的包,除了默认的四个包外,Convention插件也会在这些包中查找Action类。
4. 命名空间与Action映射:
Action的命名空间通常由其所在包的路径决定,例如`com.fun.action`对应的命名空间就是`/fun/action`。然而,通过配置`struts.convention.package.locators`和`struts.convention.action.packages`,可以灵活地控制Action的映射路径。
5. 注意事项:
- 开发者在使用这两个配置常量时需要谨慎,因为它们可以改变Action的默认映射逻辑,可能导致预期之外的行为。
- 尽管Convention插件减少了配置,但并不意味着完全消除配置需求。在某些复杂场景下,可能仍需要自定义配置来满足特定需求。
Struts2 Convention 插件极大地简化了开发流程,使得开发者能够更加专注于业务逻辑,而不需要过多关注配置细节。不过,这也要求开发者对Struts2的约定有深入的理解,以便更好地利用这一特性。
166 浏览量
2011-03-28 上传
2010-07-13 上传
点击了解资源详情
点击了解资源详情
点击了解资源详情
点击了解资源详情
点击了解资源详情
点击了解资源详情
jasonke2012
- 粉丝: 0
- 资源: 1
最新资源
- c#实例教程(调试通过)
- 单片机计数与定时器资料
- 搞懂 XML、SOAP、BizTalk(PDF)
- [游戏编程书籍].Collision.Detection.-.Algorithms.and.Applications
- sip协议基础介绍ppt
- Soap+Tutorial.pdf
- Java Web Services.pdf
- Magento dev guide
- ISCSI reference
- unix/linux命令
- Intel_E100_网卡驱动实例分析
- 神州数码交换机路由器实验手册
- struts 常见错误
- dos命令全集 doc版
- C++Primer简体中文第3版
- XMLBook XML实用大全