Struts2配置解析:从struts.xml到常量配置

需积分: 3 1 下载量 81 浏览量 更新于2024-08-17 收藏 3.98MB PPT 举报
"struts.xml配置详解-struts2简介" 在Java Web开发中,Struts2是一个流行的MVC框架,它提供了强大的控制层解决方案。本文主要关注`struts.xml`配置文件及其在Struts2框架中的作用,同时也概述了Struts2相比Struts1.x的优势。 **常量配置** 在Struts2框架中,常量配置是通过`struts.xml`或其他配置文件(如`struts-default.xml`, `struts-plugin.xml`, `struts.properties`)进行的。这些常量定义了框架的行为,可以根据不同的应用场景进行调整。例如,`struts.devMode`常量用于设置应用程序的运行模式,其默认值为`false`,表示部署模式。在开发过程中,通常会将其设置为`true`,以便开启更多的调试信息和错误报告。常量配置的元素`<constant>`包含两个必需的属性: 1. **name**: 定义常量的名称,如`struts.devMode`。 2. **value**: 设置常量的值,例如`true`或`false`。 在`struts.xml`中配置常量时,应遵循DTD(文档类型定义)的约束,确保配置正确。同时,`web.xml`中的`init-param`也可以用来设置常量,这里的配置会覆盖`struts.xml`中的相应设置。 **Struts2与Struts1.x的区别** Struts1.x存在的问题包括:表现层技术单一、与Servlet API耦合严重、侵入式设计导致的代码依赖、单元测试困难以及复杂的ActionForm。而Struts2引入了一系列改进,如: 1. **基于Action的框架**: Struts2的核心是Action,它允许更灵活的控制流管理,Action不再需要继承特定的基类。 2. **成熟社区**: Struts2有活跃的开发者和用户社区,提供及时的支持和更新。 3. **Annotation和XML配置**: 开发者可以选择注解或XML来配置Action和拦截器。 4. **基于POJO的Action**: Action可以是任何普通的Java对象,这简化了测试并降低了依赖性。 5. **集成**: Struts2可以无缝集成Spring、SiteMesh和Tiles等其他框架,以及OGNL表达式语言。 6. **标签库和Ajax支持**: 提供主题化的标签库和Ajax支持,增强用户体验。 7. **视图多样性**: 支持JSP、Freemarker、Velocity和XSLT等多种视图技术。 8. **插件扩展**: 通过插件扩展框架功能,以适应不同的需求。 **Struts2框架架构** Struts2的核心控制器是`FilterDispatcher`,它拦截所有的HTTP请求,然后根据请求信息调用相应的Action。这一设计使得业务逻辑控制器与Servlet API分离,增强了模块化和可测试性。在处理请求的过程中,Struts2使用拦截器链,允许添加自定义的拦截器来执行通用的功能,如日志、权限验证等。 Struts2通过其强大的配置能力和组件化的架构,提供了一种高效且灵活的方式来构建Web应用程序。理解并熟练掌握`struts.xml`配置是开发Struts2应用的关键步骤,这有助于优化应用性能和提高开发效率。