Struts2入门教程:核心概念与配置解析

需积分: 6 0 下载量 123 浏览量 更新于2024-07-31 1 收藏 617KB DOC 举报
"struts2笔记初步修改版,包含struts2的基础知识,适合初学者学习。" Struts2是一个流行的Java Web应用程序框架,用于构建基于MVC(模型-视图-控制器)架构的Web应用。它是在原有的Struts1基础上发展起来的,引入了更多的功能和改进,旨在提供更强大、更灵活的框架。 1. **准备工作** - **安装与目录结构**: - 解压`struts-2.1.6-all.zip`,会得到包括`apps`、`docs`、`lib`和`src`等目录。`apps`包含示例程序,`docs`存放官方文档,`lib`存放所有必需的JAR文件,而`src`则包含了源代码。 - **依赖JAR包**: - `struts2-core-2.1.6.jar`:核心类库,包含Struts2框架的主要实现。 - `freemarker-2.3.13.jar`:Freemarker模板引擎,用于渲染UI标签。 - `commons-logging-1.0.4.jar`:日志工具包,用于日志记录。 - `ognl-2.6.11.jar`:对象图导航语言,Struts2通过OGNL来读写对象属性。 - `xwork-2.1.2.jar`:XWork框架,Struts2在其基础上构建。 - `commons-fileupload-1.2.1.jar`:文件上传组件,必须添加以支持文件上传功能。 2. **Struts2配置** - **web.xml**: - 是应用的部署描述符,配置`StrutsPrepareAndExecuteFilter`过滤器,负责初始化Struts2框架并处理所有请求。旧版本中配置的是`FilterDispatcher`,但新版本同样支持。配置项可以指定额外的XML配置文件,并影响框架行为。 - **struts.xml**: - Struts2的核心配置文件,可以包含其他配置文件,方便按模块管理。通常做法是为每个模块创建独立的struts.xml,便于管理和维护。 3. **其他配置文件** - **struts.properties**(参考def): - 该文件用于设置全局属性,例如,可以定义Struts2的默认主题、拦截器栈等。它不是必须的,但可以根据需要自定义配置。 4. **工作原理** - **Struts2的生命周期**: - 请求到达时,`StrutsPrepareAndExecuteFilter`过滤器拦截请求,解析请求并调用Action。 - OGNL用于表达式语言,读取或设置Action的属性。 - 结果处理,通常通过Freemarker模板引擎将结果渲染成HTML并返回给客户端。 5. **核心概念** - **Action**:业务逻辑的执行者,负责处理请求。 - **Interceptor(拦截器)**:在Action执行前后进行增强处理,如权限验证、日志记录等。 - **Result**:Action执行后的结果,决定如何展示给用户,可以是重定向、转发或渲染一个页面。 6. **优势** - **灵活性**:Struts2允许通过配置文件和插件定制框架行为。 - **强大的表单处理**:支持文件上传,自动绑定表单数据到Action。 - **易于测试**:支持JUnit和其他单元测试框架进行Action的单元测试。 Struts2提供了一套全面的解决方案来构建MVC Web应用,它的强大之处在于其灵活性和可扩展性,使得开发者可以轻松地定制和优化应用。对于初学者来说,掌握Struts2的基本概念和配置是踏入Java Web开发的重要一步。