Struts2.1.8 教程:入门到实践

需积分: 9 2 下载量 98 浏览量 更新于2024-09-24 收藏 617KB DOC 举报
"struts2.1.8教程" Struts2是一个基于MVC设计模式的Java Web应用程序框架,它提供了一种结构化的方式来组织和控制应用程序的流程。本教程将介绍如何使用Struts2,从基础的环境配置到具体功能的实现。 1. **准备工作及实例** - 首先,你需要下载并解压Struts2的发行版,例如`struts-2.1.6-all.zip`。这个压缩包中包含了Struts2的核心组件、示例程序、文档、库文件和源代码。 - 六个基本的JAR包是Struts2运行所必需的,包括核心库`struts2-core-2.1.6.jar`、FreeMarker模板引擎`freemarker-2.3.13.jar`、日志包`commons-logging-1.0.4.jar`、OGNL库`ognl-2.6.11.jar`、XWork库`xwork-2.1.2.jar`以及文件上传组件`commons-fileupload-1.2.1.jar`。特别是`commons-fileupload-1.2.1.jar`,它是处理文件上传的关键,缺少它可能导致运行时异常。 2. **配置文件** - **web.xml**:这是Web应用的部署描述符,用于配置Struts2的过滤器`StrutsPrepareAndExecuteFilter`。这个过滤器负责初始化Struts2框架并处理所有请求。你可以设置初始化参数,指定额外的XML配置文件,以及调整框架行为。 - **struts.xml**:这是Struts2的核心配置文件,你可以在这里定义Action、结果、拦截器等,并可以包含其他配置文件。每个不同的模块可以通过单独的配置文件来管理,使代码更易于维护和扩展。 3. **Struts2的使用** - **struts.xml配置**:在struts.xml中,你可以定义Action类及其对应的URL路径,设置Action的输入和输出结果,以及配置拦截器栈。 - **Action获取Scope对象**:在Action中,你可以通过`ActionContext`获取到Servlet上下文中的各种Scope对象,如request、session、application等,以便于在业务逻辑中存储和检索数据。 - **OGNL与ValueStack**:OGNL(Object-Graph Navigation Language)是Struts2中的表达式语言,用于读取和设置对象属性。ValueStack是OGNL使用的数据结构,它保存了请求上下文中所有的对象,使得在视图层可以直接通过OGNL表达式访问Action中的属性。 - **拦截器**:Struts2的拦截器是实现业务逻辑和控制逻辑分离的重要机制。你可以自定义拦截器来执行一些预处理或后处理任务,比如日志记录、权限检查、事务管理等。 - **使用标签**:Struts2提供了丰富的标签库,如`s:form`、`s:textfield`、`s:submit`等,用于构建动态的用户界面。这些标签基于FreeMarker或JSP,简化了视图层的开发。 4. **实例和实践** - 实践是学习Struts2的最佳方式。你可以从提供的示例程序开始,逐步了解如何创建Action、配置struts.xml、使用OGNL表达式、设置拦截器以及在页面上使用Struts2标签。 Struts2提供了一套完整的解决方案来构建Java Web应用,通过合理的配置和编程,可以使应用程序更加模块化、可维护且易于扩展。理解和掌握上述知识点,将有助于你有效地使用Struts2框架来开发高效、稳定的Web应用。