Struts框架入门教程:从CGI到MVC的演进
需积分: 33 81 浏览量
更新于2024-11-22
收藏 698KB PDF 举报
Struts快速学习指南是针对Java Web开发者的一份内部培训教材,源自《Programming Jakarta Struts》。Struts是一个基于MVC(Model-View-Controller)设计模式的开源框架,由Craig R. McClanahan创建并在2000年捐赠给Apache Software Foundation (ASF),现在由广泛的社区进行维护和更新。由于其在处理Web应用中的灵活性和实用性,Struts已经成为构建Web MVC应用的常用工具,尤其是在控制器(C)组件方面。
在Web技术的历史发展中,Struts的出现是对早期技术的改进。最初,CGI(通用网关接口)是Web应用开发的主流,但因其对并发处理的不足,导致性能问题。随后,Servlet技术的诞生解决了平台依赖和多线程等问题,但将HTML嵌入到Servlet代码中增加了开发复杂性。接着,JSP(JavaServer Pages)借鉴了ASP的理念,使得Java开发Web应用更为简便,其跨平台、安全性和易用性的特点使其迅速占据主导地位。
Struts框架的安装过程相对简单,主要包括下载Struts的二进制包,解压到指定目录,并在Web应用程序中设置标准结构,包括WEB-INF目录下的classes和lib目录。在lib目录中添加Struts库,配置web.xml文件以声明Struts的DispatcherServlet,以及创建Action类和配置相应的struts-config.xml文件,以定义应用的行为和视图映射。
在实际开发中,Struts通过ActionForm收集用户请求数据,Action处理业务逻辑,然后通过ActionForward或ActionRedirect控制流程,并使用Tiles或JSP来展示视图。此外,Struts还支持国际化、数据验证、异常处理等特性,提供了强大的表单处理和用户交互能力。
Struts的核心组件包括:
1. **ActionServlet**:作为MVC模式中的Controller,负责处理HTTP请求,根据配置文件路由到对应的Action。
2. **Action**:实现了业务逻辑的Java类,响应ActionServlet的调度。
3. **ActionForm**:用于封装用户请求数据,通常对应于表单输入。
4. **struts-config.xml**:配置文件,定义Action、ActionMapping、ActionForm及转发规则。
5. **Tiles**:视图组装框架,可将多个JSP页面组合成一个复杂视图。
6. **Validator**:提供数据验证功能,确保用户输入的正确性。
随着技术的发展,Struts的后续版本Struts 2引入了更多新特性和改进,如OGNL(Object-Graph Navigation Language)表达式语言和拦截器(Interceptor),增强了框架的灵活性和可扩展性。然而,尽管Struts在Java Web开发中有着广泛的应用,随着Spring MVC和Play Framework等其他现代框架的崛起,Struts的市场份额有所下滑。尽管如此,学习和理解Struts对于理解MVC设计模式以及现代Web应用框架的工作原理仍然具有重要的价值。
2009-09-07 上传
2009-09-24 上传
2007-04-07 上传
2019-03-14 上传
114 浏览量
2019-04-05 上传
309 浏览量
2007-10-17 上传
2007-09-14 上传
ruicaihua
- 粉丝: 0
- 资源: 1
最新资源
- kindergarten
- 基于VB实现ACCESS汽车租凭管理系统(论文+系统).rar
- 软件测试工程师面试题及答案(全)文档集
- 最好用的JAVA代码混淆工具proguard-7.0.0.zip
- mixlib-cli:用于创建命令行应用程序的混合-为参数说明和处理提供了简单的DSL
- Flutter_Localizations:一个示例flutter应用程序,演示了如何使用本地化来支持2种语言
- 自平衡智能小车第二版-电路方案
- zstack.zip
- 基于MATLAB的遗传算法工具箱(51个MATLAB工具+源代码).zip
- Weights-Initialization-in-Nueral-Networks:神经网络中的权重初始化技术
- 20200917-头豹研究院-汽车应用系列深度研究:2019年中国经营性汽车租赁行业应用概览.rar
- CICD_automation
- 变频器 SINAMICS G120D,配备控制单元 CU240D-2.zip
- 耶鲁大学人脸识别数据集
- sinatra-book:正式回购到sinatrasinatra-book教程+食谱
- DFRobot_DS323X