Struts 2深度教程:设计与编程实践
需积分: 9 154 浏览量
更新于2024-10-25
收藏 10.48MB PDF 举报
"《Struts 2 Design and Programming: A Tutorial》是一本由Budi Kurniawan编写的英文教程,专注于Struts 2.1.6版本的深入讲解,旨在帮助开发者设计、构建和优化基于Java的Web应用程序。本书通过理论解释和实际应用相结合的方式,详细介绍了Struts框架的功能,包括文件上传、分页和对象缓存等关键特性。"
Struts是Apache软件基金会下的一个开源项目,是一个用于构建Java Web应用程序的MVC(Model-View-Controller)框架。Struts 2是其第二代产品,显著提高了灵活性和可扩展性,为开发者提供了更多的功能和工具。
在Struts 2框架中,主要知识点包括:
1. **Action类**:它是业务逻辑的入口点,继承自`com.opensymphony.xwork2.ActionSupport`类,处理用户请求并返回相应的结果。
2. **配置文件**:`struts.xml`是Struts 2的核心配置文件,用于定义Action、结果类型、拦截器栈等,实现对整个应用程序的控制。
3. **Interceptor(拦截器)**:拦截器是Struts 2的一大特色,它允许在Action调用前后执行额外的逻辑,如日志记录、权限验证、性能监控等。
4. **结果类型(Result)**:定义了Action执行后的跳转逻辑,可以是转发、重定向、渲染视图等。
5. **模型驱动(ModelDriven)**:一种Action设计模式,自动将Action与领域模型对象绑定,简化代码。
6. **值栈(Value Stack)**:Struts 2中的核心组件,存储Action属性和OGNL表达式,使得视图层可以直接访问Action的属性。
7. **OGNL(Object-Graph Navigation Language)**:Struts 2的默认表达式语言,用于在模型、视图和控制器之间传递数据。
8. **动态方法调用(Dynamic Method Invocation,DMI)**:允许Action方法名动态解析,增强了Action的灵活性。
9. **插件体系**:Struts 2支持丰富的插件扩展,如Tiles插件用于布局管理,Struts2-dojo-plugin提供Dojo库支持等。
10. **文件上传**:Struts 2内置了文件上传功能,通过`File`和`FileItem`等类处理表单中的文件域。
11. **分页(Paging)**:通常结合数据展示组件(如DisplayTag或JSTL)实现,Struts 2本身不直接提供分页功能,但可以通过拦截器或自定义结果类型实现。
12. **对象缓存**:Struts 2并不直接提供缓存机制,但开发者可以利用第三方库(如Ehcache)或者Spring框架集成来实现对象缓存。
本书《Struts 2 Design and Programming: A Tutorial》通过详细的理论讲解和实例演示,帮助读者掌握如何有效地利用Struts 2框架进行Web开发,提升开发效率和代码质量。书中涵盖的这些知识点对于Java Web开发者来说是不可或缺的,尤其是对初学者和希望深入理解Struts 2架构的开发者而言,具有很高的学习价值。
2008-12-09 上传
2008-03-14 上传
2008-09-10 上传
2014-10-31 上传
2007-08-08 上传
2008-07-06 上传
2009-04-10 上传
2024-12-25 上传
xxping517
- 粉丝: 4
- 资源: 3
最新资源
- 【QGIS跨平台编译】之【netcdf跨平台编译】:Linux环境下编译成果(支撑QGIS跨平台编译,以及二次研发)
- gendock:用于虚拟筛选生成的或现有的小分子至大分子的Python软件包
- duanwenbo.github.io:鲍比的博客
- interp2pi:角度插值。-matlab开发
- CanFestival-3
- experiment-of-data-structure,c语言的源码格式是什么意思,c语言程序
- Vending-Machine
- golang:golang代码
- JAVA人力资源管理系统源码(含数据库).rar
- vue-practice
- 雪山背景网站404模板
- -:小程序开源代码-源码程序
- P89 Serial Programmer:从您最喜欢的Unix系统对NXP P89V51RD2进行编程-开源
- C,c语言memcpy函数源码,c语言程序
- 显著图提取的代码matlab-3dcnn4fmri:3dcnn4fmri
- C#-CSV导入导出