Struts2配置详解:修改默认请求路径与配置加载机制
3星 · 超过75%的资源 需积分: 0 14 浏览量
更新于2024-09-17
1
收藏 549KB PDF 举报
"吴老师教学_Struts2_配置文件"
在Java Web开发中,Struts2是一个流行的MVC框架,用于构建动态网站应用。本教程详细介绍了Struts2的配置文件,帮助开发者深入理解其工作原理。吴老师的教学资料提供了一个图文并茂的学习途径,旨在解答关于Struts2配置的疑惑。
在Struts2框架中,配置文件起着至关重要的作用,它们定义了框架的行为和组件的设置。以下是对关键知识点的深入解析:
1. **默认配置的修改**:
Struts2默认将请求路径设置为`.action`,与Struts1中的`.do`不同。如果你想将Struts2的请求路径改回`.do`,你需要修改配置文件。虽然Struts2的`struts.xml`通常位于`src`目录下,但编译后会移动到`/WEB-INF/classes`。即使没有在`web.xml`中明确声明,Struts2依然能自动找到并加载`struts.xml`。
2. **配置文件加载**:
- **`web.xml`**:这是应用的部署描述符,其中包含对Struts2框架执行环境的配置。例如,你可以在这里设置过滤器(`<filter>`和`<filter-mapping>`)来初始化Struts2,并配置全局的参数。
- **`struts.properties`**:这是Struts2的全局属性文件,可以设置框架的全局属性,比如开发模式、编码等。
- **`struts-default.xml`**:包含Struts2的默认配置,定义了许多基本行为,如拦截器栈和默认结果类型。`package`元素的`extends="struts-default"`就是继承这些默认设置。
- **`struts-plugin.xml`**:用来配置Struts2插件,定义插件的行为和依赖。
- **`struts.xml`**:应用级别的配置文件,用于定义Action、包(package)、结果(result)和拦截器等。你可以在这个文件中覆盖或扩展`struts-default.xml`的配置。
3. **配置文件的加载顺序**:
- 首先,Struts2会读取`web.xml`,从中获取框架的启动信息和自定义的全局配置。
- 然后,加载`struts.properties`,这通常是系统级的配置。
- 接着,加载`struts-default.xml`,这是框架的默认行为。
- `struts-plugin.xml`用于加载插件,可以定制特定功能。
- 最后,加载应用的`struts.xml`,这里定义了具体应用的行为和配置。
4. **扩展和覆盖配置**:
Struts2支持配置的继承和覆盖。例如,你可以在`struts.xml`中创建新的包(package),通过`extends`属性继承`struts-default`,然后在新包中覆盖或添加特定配置。
5. **日志观察**:
为了更好地理解配置加载过程,可以通过添加日志库(如Commons Logging或Log4j)来查看日志输出,这些输出通常会显示配置文件加载的详细信息。
6. **问题解答**:
- 如何更改请求路径:在`struts.xml`中,你可以配置`<constant>`元素,将`struts.action.extension`的值改为`.do`。
- `struts.xml`的加载:由于Struts2的`FilterDispatcher`(或`StrutsPrepareAndExecuteFilter`在新版本中)会自动扫描`/WEB-INF/classes`目录下的`struts.xml`。
通过以上解释,你应该对Struts2的配置有了更深入的理解。继续学习吴老师的教程,你将能够熟练掌握Struts2框架的配置技巧,提升开发效率。
2017-11-08 上传
2011-05-17 上传
2013-12-25 上传
2023-05-15 上传
2023-05-24 上传
2023-08-03 上传
2023-09-06 上传
2023-05-13 上传
2023-10-14 上传
jnsunw
- 粉丝: 2
- 资源: 38
最新资源
- 计算机二级Python真题解析与练习资料
- 无需安装即可运行的Windows版XMind 8
- 利用gif4j工具包实现GIF图片的高效裁剪与压缩
- VFH描述子在点云聚类识别中的应用案例
- SQL解释器项目资源,助力计算机专业毕业设计与课程作业
- Java实现Windows本机IP定时上报到服务器
- Windows Research Kernel源码构建指南及工具下载
- 自定义Python插件增强Sublime文本编辑器功能
- 自定义Android屏幕尺寸显示及Ydpi计算工具
- Scratch游戏编程源码合集:雷电战机与猫鼠大战
- ***网上教材管理系统设计与实现详解
- Windows环境下VSCode及Python安装与配置教程
- MinGW-64bit编译opencv库适配Qt5.14
- JavaScript API 中文离线版手册(CHM格式)
- *** 8 MVC应用多语言资源管理技巧
- 互联网+培训资料深度解析与案例分析