Struts2全面教程:从入门到精通

需积分: 9 1 下载量 150 浏览量 更新于2024-07-29 收藏 577KB PDF 举报
"Struts2学习文档涵盖了全面的框架知识,包括其版本、依赖库、开发环境以及与Struts1.x的区别。文档适用于MyEclipse6,使用Tomcat6作为Web服务器,Struts2版本为2.0.11.1,JDK版本为1.5.0_12,J2EE版本为5.0。教程中的Web应用上下文路径为'struts2'。学习Struts2需要下载并引入核心库,如struts2-core、xwork、commons-logging、freemarker和ognl等。Struts2基于Webwork,与Struts1.x有显著区别,但仍然遵循MVC模式。" 在深入理解Struts2之前,首先需要了解它与它的前身Struts1.x的差异。Struts2在设计和实现上进行了重大改进,尤其是在配置和使用上。Struts2的核心是基于Webwork框架,这使得它更加灵活和强大。在Struts2中,ActionServlet不再是必需的入口点,而是通过FilterDispatcher或StrutsPrepareAndExecuteFilter进行请求处理。 创建一个基于Struts2的Web应用程序通常包括以下步骤: 1. **环境配置**:下载Struts2的相应版本,包括必要的库文件,并确保它们在项目类路径中可用。 2. **Web.xml配置**:配置Struts2的过滤器,例如`<filter>`和`<filter-mapping>`元素,将请求路由到Struts2的FilterDispatcher或StrutsPrepareAndExecuteFilter。 3. **Action类**:不同于Struts1.x中的Action类直接继承自`Action`,在Struts2中,Action类可以自定义,通常实现`com.opensymphony.xwork2.ActionSupport`接口或其子接口,提供业务逻辑。 4. **结果映射**:使用`struts.xml`或`struts.properties`文件定义Action与视图之间的映射,替代了Struts1.x的`struts-config.xml`。 5. **ActionForm**:在Struts2中,ActionForm的概念被淡化,通常使用POJO(Plain Old Java Object)作为表单对象,通过OGNL(Object-Graph Navigation Language)进行数据绑定。 6. **视图层**:Struts2支持多种视图技术,如JSP、FreeMarker等,通过Result类型进行配置。 7. **拦截器**:Struts2的核心之一是拦截器,它们提供了AOP(面向切面编程)功能,用于执行通用的任务,如权限检查、日志记录等。 8. **国际化与主题**:Struts2支持多语言和自定义主题,方便应用的全球化。 9. **异常处理**:通过全局异常映射,可以统一处理应用程序中抛出的异常。 10. **插件支持**:Struts2拥有丰富的插件生态系统,如Ajax支持、JSON响应、RESTful服务等,可以方便地扩展功能。 学习Struts2不仅需要掌握上述基本概念,还要熟悉OGNL表达式、拦截器链、动态方法调用、结果类型等高级特性。此外,实战经验也非常重要,通过创建实际项目来加深理解,不断实践和完善。在深入学习的过程中,理解Struts2的设计原则和模式,有助于提升开发效率和应用质量。