struts 2教程 759.37KB
ker79需要积分:6(1积分=1元)文件:struts 2教程.rar
资源介绍:
Struts 2是一个基于MVC(Model-View-Controller)设计模式的开源Java Web框架,由Apache软件基金会维护。这个框架极大地简化了Java Web应用程序的开发,提供了强大的控制层,帮助开发者构建可维护、可扩展且高度灵活的应用程序。本教程将深入探讨Struts 2的核心概念和技术。
一、Struts 2框架概述
Struts 2是Struts 1的升级版,它融合了WebWork框架的优点,解决了Struts 1的一些问题,如动作类和表单的生命周期管理,以及对异常处理的改进。它提供了一种更简洁、更强大的Action配置方式,以及强大的拦截器机制,使得业务逻辑和展示层分离更加清晰。
二、核心组件
1. Action:Action是业务逻辑的执行者,通常继承自`org.struts.action.Action`或`com.opensymphony.xwork2.ActionSupport`。开发者在Action中实现业务逻辑,并通过返回不同的结果名称来决定跳转到哪个视图。
2. ActionMapping:映射Action与请求URL的关系,Struts 2通过`ActionMapper`接口实现,它决定一个HTTP请求应由哪个Action处理。
3. Interceptors(拦截器):拦截器是Struts 2的一大特色,它们是实现了特定接口的类,可以插入到Action调用的前后,执行预处理和后处理操作,比如日志记录、权限检查、事务管理等。
4. Result:负责将Action的执行结果导向视图。Struts 2支持多种Result类型,如JSP、FreeMarker、Velocity等。
5. ValueStack:存储ActionContext中的数据,包括Action实例、ActionForm对象以及请求参数等,方便在视图层访问。
三、配置文件
1. struts.xml:这是Struts 2的主要配置文件,定义了Action、Interceptor、Result等元素,以及它们之间的关系。
2. struts-default.xml和struts-plugin.xml:这两个文件包含了Struts 2的默认配置和插件配置,它们是Struts 2框架运行的基础。
四、Action的生命周期
1. 创建:当请求到达时,Struts 2会根据配置创建Action实例。
2. 参数绑定:框架将请求参数自动绑定到Action的属性上。
3. 拦截器链执行:Action被一系列拦截器调用,直到到达Action的execute方法。
4. 执行Action:执行业务逻辑,返回结果代码。
5. 结果处理:根据返回的结果,决定如何展示给用户,可能是一个JSP页面,或者重定向到其他URL。
五、拦截器的使用
拦截器可以实现通用功能,如登录检查、权限控制、性能监控等。开发者可以通过自定义拦截器并配置在struts.xml中,将其插入到默认的拦截器栈中。
六、结果类型和结果配置
Struts 2支持多种结果类型,如dispatcher(用于转发到JSP)、redirect(用于重定向)、stream(用于处理文件下载)等。在struts.xml中,开发者可以为每个Action定义多个结果,根据Action的返回值决定跳转到哪个结果。
七、Tiles和FreeMarker模板
Struts 2可以与Tiles框架集成,用于创建可重用的布局模板。FreeMarker则是一种模板语言,用于生成HTML或其他文本格式,与Struts 2结合使用,可以实现动态页面生成。
总结,Struts 2教程将引导您深入了解这个框架,从基本概念到实际应用,帮助您掌握构建Java Web应用程序的技能。通过学习和实践,您将能够熟练运用Struts 2构建高效、可维护的Web项目。 相关资源