Struts2入门教程:从零开始学习Struts2框架

需积分: 9 0 下载量 48 浏览量 更新于2024-07-28 收藏 577KB PDF 举报
"strust2教程" Struts2是一个流行的开源MVC框架,它在Java Web开发中被广泛使用。作为Struts1.x的升级版,Struts2在设计和实现上进行了重大改进,尽管它仍然遵循MVC模式,但在很多方面都与Struts1.x有显著的不同。本教程将详细介绍如何使用Struts2进行开发。 首先,Struts2的开发环境包括MyEclipse6作为集成开发环境,Tomcat6作为Web服务器,Struts2的核心库版本为2.0.11.1,JDK版本为1.5.0_12,以及JavaEE5.0作为开发标准。在实际项目中,开发者需要下载Struts2的安装包,包含核心库struts2-core、xwork、commons-logging、freemarker和ognl等依赖组件。 Struts2框架基于Webwork技术,因此其内部大量使用了来自xwork的类和包。与Struts1.x相比,Struts2的配置和使用方式更为灵活,不再局限于特定的类继承结构。例如,Action类不再强制从Action类继承,而是通过实现特定接口或使用注解来定义处理逻辑。同样,ActionForm的概念在Struts2中也被更灵活的模型对象所取代。 建立一个基本的Struts2应用通常涉及以下步骤: 1. **配置Struts2** - 不像Struts1.x需要配置ActionServlet,Struts2通过在web.xml中配置过滤器(`struts2-convention-plugin`或`struts2-core`)来启动框架。这使得配置更加简洁,同时也支持基于约定的命名规则。 2. **创建Action类** - Struts2的Action类不再需要继承特定的基类,而是可以选择实现`com.opensymphony.xwork2.ActionSupport`接口,或者使用注解来声明Action方法。 3. **定义结果视图** - 结果视图不再通过`<forward>`标签定义,而是通过Action类中的返回值与配置文件(或注解)中的结果映射相结合来决定。 4. **使用Interceptors(拦截器)** - Struts2引入了拦截器机制,允许在Action调用前后执行通用逻辑,如日志记录、权限检查等,增强了框架的可扩展性。 5. **配置Action和URL映射** - 传统的Struts1.x需要在struts-config.xml中配置每个Action,而在Struts2中,可以通过XML配置(struts.xml或struts.properties)或基于类名和方法名的约定来自动映射URL。 6. **视图层处理** - Struts2支持多种视图技术,如JSP、FreeMarker、Velocity等。默认情况下,视图通常是JSP,可以通过`<result>`标签指定。 7. **使用OGNL表达式语言** - Struts2的视图层和控制器之间通过OGNL(Object-Graph Navigation Language)交换数据,简化了数据绑定。 在学习Struts2的过程中,开发者会发现其强大的国际化、异常处理、主题和皮肤等功能,以及对Ajax和RESTful风格的支持,这些特性使得Struts2成为构建复杂Web应用的理想选择。然而,随着Spring Boot和其它现代框架的兴起,Struts2的使用逐渐减少,但它的设计理念和模式对理解现代Web框架仍有很大帮助。