Struts2入门教程:源码分析与实战示例

需积分: 9 4 下载量 52 浏览量 更新于2024-07-29 收藏 577KB PDF 举报
"strust2教程,内含源码、实例,适合初学者" 在本文档中,我们将深入探讨Struts2这一流行的Java Web框架。Struts2是基于Model-View-Controller (MVC) 设计模式的,它提供了一种结构化的方式来构建企业级应用程序。与它的前身Struts1.x相比,Struts2在设计和实现上有显著的改进,尽管两者都是动作驱动的MVC框架。 首先,我们需要了解Struts2的基本组件和配置。Struts2的核心库是`struts2-core-2.0.11.1.jar`,它包含了框架的主要功能。此外,还需要`xwork-2.0.4.jar`,它是Webwork的核心,提供了许多关键的技术。`commons-logging-1.0.4.jar`用于日志记录,`freemarker-2.3.8.jar`是模板引擎,用于生成动态HTML,而`ognl-2.6.11.jar`则是对象图导航语言(Object-Graph Navigation Language)库,用于表达和操作对象属性。 在Struts2的使用中,一个重要的区别是它不再依赖于特定的Servlet容器,而是通过拦截器(Interceptor)机制实现了更灵活的控制流程。拦截器是Struts2的核心特性之一,它们允许开发者在请求到达Action之前或之后插入自定义的行为。 建立一个简单的Struts2应用程序通常包括以下步骤: 1. **环境配置**:确保你的开发环境支持Struts2,例如,使用MyEclipse6和Tomcat6,并且安装Struts2的必要库文件。 2. **配置Web应用**:在`web.xml`中配置Struts2的过滤器,而不是像Struts1.x中的ActionServlet。过滤器会拦截所有的HTTP请求并引导到Struts2的处理流程中。 3. **创建Action类**:不同于Struts1.x中的Action类直接继承自`Action`,在Struts2中,Action类可以自定义,通常实现`com.opensymphony.xwork2.ActionSupport`接口,这样可以获得内置的功能,如结果映射和验证。 4. **定义Action配置**:在`struts.xml`配置文件中,你需要指定Action类及其相关的操作和结果。这些配置描述了请求如何映射到Action,以及执行Action后的结果如何展示。 5. **使用ActionForm**:在Struts1.x中,ActionForm类用于收集和验证用户输入。在Struts2中,这个角色被Action类自身所取代,你可以直接在Action类中处理表单数据。 6. **视图层**:Struts2支持多种视图技术,如JSP、FreeMarker等。你可以通过OGNL(对象图导航语言)在视图中访问Action中的数据。 7. **结果映射**:定义Action执行后跳转的页面或者视图,这在`struts.xml`配置文件中完成。 8. **拦截器**:自定义拦截器可以实现跨Action的功能,如权限检查、日志记录等。 9. **国际化与本地化**:Struts2支持多语言环境,可以方便地进行国际化和本地化设置。 在学习Struts2的过程中,实践是非常重要的。提供的源码和实例可以帮助你更好地理解和掌握框架的使用。尝试运行这些例子,修改配置和代码,以加深理解。 Struts2是一个强大且灵活的Java Web框架,它提供了许多高级特性和强大的插件系统,使得开发人员能够高效地构建复杂的企业级应用。尽管与Struts1.x有显著的不同,但其核心思想——动作驱动的MVC设计——依然保留,使熟悉Struts1.x的开发者能快速适应新框架。