Struts2常量配置详解与Struts1.0对比
需积分: 35 55 浏览量
更新于2024-07-13
收藏 2.34MB PPT 举报
"细说常量定义-struts2.0教学ppt"
本文主要介绍的是Struts2框架中的常量定义及其配置方法。Struts2是一个流行的企业级Java Web应用框架,它在Struts1的基础上进行了许多改进,提供了一种更灵活、更强大的MVC架构。在Struts2中,常量可以用来配置框架的行为,例如指定Action的扩展名。
常量定义在Struts2中可以通过两种方式进行:在`struts.xml`配置文件或者`struts.properties`属性文件中进行。推荐在`struts.xml`中配置常量,因为这样更便于管理和维护。例如,我们可以通过以下代码设置Action的默认扩展名为`.do`:
```xml
<struts>
<constant name="struts.action.extension" value="do"/>
</struts>
```
而在`struts.properties`中,配置方式则更为简洁:
```properties
struts.action.extension=do
```
Struts2加载常量时遵循一定的搜索顺序,依次是:
1. `struts-default.xml`
2. `struts-plugin.xml`
3. `struts.xml`
4. `struts.properties`
5. `web.xml`
如果同一个常量在多个文件中被定义,那么后面的文件中的配置会覆盖前面文件中的配置,这是Struts2处理常量冲突的机制。
Struts2框架相对于其前身Struts1,有许多改进之处。在Struts1中,开发人员需要关注`ActionForm`和`Action`这两个核心组件以及一个配置文件`struts-config.xml`。用户表单数据会被封装到`ActionForm`对象中,然后根据请求路径在`struts-config.xml`中找到对应的`Action`配置,调用相应的业务逻辑方法。`Action`执行完毕后,通过`ActionMapping`找到对应的JSP页面进行转发。
然而,Struts1存在一些缺点,比如它仅支持JSP作为表现层技术,不兼容FreeMarker或Velocity等更现代的模板引擎;此外,Struts1与Servlet API耦合度高,这使得单元测试变得困难,因为业务逻辑控制器内部充斥着Servlet API,依赖于特定的Web服务器环境。
相比之下,Struts2提供了更灵活的配置和扩展能力,支持多种模板技术,降低了与Servlet API的耦合,使得测试和维护变得更加便捷。例如,Struts2引入了拦截器(Interceptor)的概念,允许开发者在Action执行前后插入自定义逻辑,增强了业务处理的灵活性。
总结来说,Struts2中的常量定义是框架配置的重要部分,它允许开发者定制框架的行为以适应不同的项目需求。通过合理地配置常量,可以优化应用性能,提高开发效率。同时,理解Struts2相对于Struts1的改进和优缺点,有助于更好地利用这个框架进行企业级Web应用的开发。
2012-03-15 上传
2012-03-15 上传
2012-03-14 上传
2012-03-16 上传
2016-02-16 上传
ServeRobotics
- 粉丝: 36
- 资源: 2万+
最新资源
- Android圆角进度条控件的设计与应用
- mui框架实现带侧边栏的响应式布局
- Android仿知乎横线直线进度条实现教程
- SSM选课系统实现:Spring+SpringMVC+MyBatis源码剖析
- 使用JavaScript开发的流星待办事项应用
- Google Code Jam 2015竞赛回顾与Java编程实践
- Angular 2与NW.js集成:通过Webpack和Gulp构建环境详解
- OneDayTripPlanner:数字化城市旅游活动规划助手
- TinySTM 轻量级原子操作库的详细介绍与安装指南
- 模拟PHP序列化:JavaScript实现序列化与反序列化技术
- ***进销存系统全面功能介绍与开发指南
- 掌握Clojure命名空间的正确重新加载技巧
- 免费获取VMD模态分解Matlab源代码与案例数据
- BuglyEasyToUnity最新更新优化:简化Unity开发者接入流程
- Android学生俱乐部项目任务2解析与实践
- 掌握Elixir语言构建高效分布式网络爬虫