"Struts2教程,Struts2中文教程PDF,涵盖了基础的Struts2使用技术,适合初学者学习。教程中使用的开发环境包括MyEclipse6、Tomcat6、Struts2.0.11.1、JDK1.5.0_12和JavaEE5.0。教程讲解了如何创建和运行第一个Struts2程序,并介绍了Struts2的核心依赖库,包括struts2-core、xwork、commons-logging、freemarker和ognl等。Struts2框架基于Webwork,与Struts1.x有显著区别,但仍然遵循MVC模式。"
在深入Struts2框架之前,首先理解它是一个基于Model-View-Controller (MVC)设计模式的Java Web应用程序框架,用于简化开发过程。与Struts1.x相比,Struts2在很多方面进行了改进,提供了更灵活的配置和强大的拦截器机制。
创建一个基本的Struts2应用通常包括以下几个步骤:
1. **添加依赖**:确保项目中包含Struts2所需的所有核心库,如struts2-core、xwork、commons-logging、freemarker和ognl等。这些库负责处理请求、视图渲染、日志记录、表达式语言和模板等功能。
2. **配置Web.xml**:与Struts1.x不同,Struts2不再需要ActionServlet。取而代之的是通过FilterDispatcher或StrutsPrepareAndExecuteFilter配置过滤器,将所有请求转发给Struts2框架处理。
3. **创建Action类**:Action类是业务逻辑的载体,它不再必须继承自特定的Action基类,而是可以实现com.opensymphony.xwork2.Action接口或继承ActionSupport类。Action类中的方法与请求映射,执行相应的业务操作。
4. **定义Action配置**:在struts.xml配置文件中,定义Action的名称、对应的类以及结果页面。这一步骤可以使用注解或XML配置完成,更加灵活。
5. **创建Result视图**:Struts2支持多种视图技术,如JSP、FreeMarker、Velocity等。结果页面通常是动态生成的,通过Action的结果类型和名称决定。
6. **ActionForm替换**:Struts1.x中的ActionForm在Struts2中被Action类的属性所取代,可以直接在Action类中定义模型数据。
7. **使用OGNL**:Object-Graph Navigation Language (OGNL)是Struts2的默认表达式语言,用于在Action和视图之间传递数据。它可以方便地在JSP中访问Action的属性。
8. **利用拦截器**:拦截器是Struts2的一大特色,允许在Action执行前后插入自定义逻辑,例如权限检查、日志记录、事务管理等。
9. **异常处理**:Struts2提供了一套完整的异常处理机制,可以统一处理应用程序中的异常,并根据不同的异常类型返回不同的结果页面。
10. **国际化与主题**:Struts2支持多语言环境和界面主题,可以根据用户的选择动态切换。
通过以上步骤,你可以创建一个基本的Struts2应用。随着对框架的深入理解和实践,可以掌握更多高级特性和最佳实践,如Tiles布局、Struts2的插件机制、Ajax支持以及与Spring、Hibernate等其他框架的集成。Struts2教程将逐步引导你掌握这些内容,从而提升你的Java Web开发技能。