### Struts 入门知识点详解 #### 一、Struts 概念与框架特性 - **框架定义**:Struts 是一种开源的 MVC(Model-View-Controller)框架,用于简化 Java Web 应用程序的开发。作为一种半成品,它为开发者提供了一个可扩展的基础架构,使得开发工作更为高效有序。 - **Java 开发三大框架**:Struts 2、Hibernate 和 Spring,这三大框架在 Java Web 开发领域占据了极其重要的地位。Struts 2 负责处理业务逻辑和用户界面之间的数据交互,而 Hibernate 和 Spring 分别专注于对象关系映射 (ORM) 和依赖注入 (DI) 及面向切面编程 (AOP)。 - **Struts 2 的核心特性**: - 基于 MVC 设计模式:将应用程序分为模型、视图和控制器三个层次,每个层次负责不同的任务,便于管理和维护。 - 本质上是一个 Servlet 过滤器(Filter),通过拦截器机制实现对 HTTP 请求的处理。 - 作为控制器(Controller)来管理模型(Model)与视图(View)的数据交互。 - **Struts 2 的发展历程**: - **Struts 1**:是一个高度成熟的框架,但存在一些问题,如 JSP/Servlet 耦合过于紧密、代码严重依赖 Struts API。 - **Struts 2**:在 Struts 1 的基础上发展而来,但实质上是以 WebWork 为核心,继承了 WebWork 的先进设计理念,并解决了 Struts 1 存在的问题。 #### 二、Struts 2 技术改进 - **Action 实现方式**: - **Struts 1**:所有的 Action 都必须继承自 Action 类。 - **Struts 2**:Action 可以是普通的 Java 对象(POJO),这意味着开发者可以自由地选择如何实现业务逻辑。 - **线程安全性**: - **Struts 1**:一个 Action 实例被多个线程共享,可能导致线程安全问题。 - **Struts 2**:每个请求都会创建一个新的 Action 实例,确保了线程安全。 - **Servlet API 依赖**: - **Struts 1**:严重依赖 Servlet API,限制了测试的灵活性。 - **Struts 2**:减少了对 Servlet API 的依赖,更易于单元测试。 #### 三、Struts 2 实现分析 - **下载与安装**:访问官方网址 http://struts.apache.org/download.cgi 下载最新版本的 Struts 2 框架。 - **Struts 2 目录结构**: - **apps** 文件夹包含了一些基于 Struts 2 的示例应用,对初学者而言非常有用。 - **docs** 文件夹下提供了 Struts 2 的快速入门指南、文档及 API 文档等资源。 - **lib** 文件夹下包含 Struts 2 的核心库和第三方插件库。 - **src** 文件夹包含整个框架的源代码。 - **配置 jar 包**:为了使用 Struts 2 框架,需要添加以下必要的 jar 包至项目中: - **asm-3.3.jar**:操作 Java 字节码的类库。 - **commons-fileupload-1.3.2.jar**:文件上传支持。 - **freemarker-2.3.22.jar**:模板引擎,用于生成文本输出。 - **javassist-3.11.0.GA.jar**:用于分析、编辑和创建 Java 字节码。 - **struts2-core-2.3.32.jar**:Struts 2 的核心 jar 包,不可或缺。 - 以及其他相关支持库如 commons-lang3-3.2.jar、log4j 等。 - **配置 web.xml**:根据 Struts 2 的版本配置相应的过滤器,例如: ```xml <filter> <filter-name>struts2</filter-name> <filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class> </filter> ``` 此配置段指定了 Struts 2 的过滤器,用于初始化框架并处理所有的 HTTP 请求。 #### 四、Struts 2 快速入门实践 - **构建环境**:首先确保项目中已经正确配置了所需的 jar 包和 web.xml 文件。 - **编写 Action 类**:创建一个 POJO 类,用于处理业务逻辑。 - **配置 struts.xml 文件**:定义 Action 的映射和结果页面。 - **创建视图**:使用 JSP 或 FreeMarker 等技术创建视图页面。 - **测试应用**:启动服务器,通过浏览器访问应用程序,检查是否能够正确响应用户请求。 通过以上步骤,我们不仅可以理解 Struts 2 的基本概念和技术特点,还可以快速搭建一个简单的 Web 应用程序。这对于学习和掌握 Struts 2 框架具有重要意义。
- 粉丝: 0
- 资源: 2
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助