### Struts2初步使用总结 #### 一、Struts2原理概述 **1.1 为什么要用Struts2** 在探讨为何使用Struts2之前,我们先简要回顾一下Struts2的一些基本特点: - **模块化设计**:Struts2采用模块化的架构设计,使得各个组件易于替换和扩展。 - **支持多种视图技术**:不仅限于JSP,还支持Velocity、Freemarker等模板引擎。 - **拦截器机制**:提供了灵活的拦截器机制,用于实现事务管理、权限控制等功能。 - **统一异常处理**:能够方便地进行异常捕获和处理。 - **国际化支持**:内置了强大的国际化和本地化功能。 从公司层面来看,选择使用Struts2通常基于以下几个原因: 1. **企业需求**:许多大型项目已经基于Struts2开发,为了与现有系统兼容或保持一致性,继续使用Struts2是一个自然的选择。 2. **开发效率**:Struts2提供了一套完整的解决方案,简化了Web应用程序的开发过程,特别是在处理HTTP请求、数据验证等方面,大大提高了开发效率。 3. **成熟度**:作为一个成熟且稳定的框架,Struts2有着广泛的社区支持和丰富的插件资源,这对于企业级应用尤为重要。 **1.2 什么是Struts2** Struts2是一个开源的Java Web框架,它继承了Struts1的优点,并对其进行了改进,引入了许多新的特性。对于大多数公司而言,Struts2主要用于处理HTTP请求,获取前端传递过来的参数,并调用后端服务层进行业务逻辑处理。处理完业务逻辑之后,Struts2会根据配置返回相应的视图结果给用户。 **1.3 Struts2的工作流程** Struts2的工作流程大致可以分为以下步骤: 1. **客户端发起请求**:用户通过浏览器向服务器发送HTTP请求。 2. **过滤器处理**:请求首先会被一系列的过滤器处理,如`ActionContextCleanUp`过滤器等。 3. **判断是否为Action请求**:通过`ActionMapper`判断当前请求是否需要调用Action处理。 4. **Action调用**:如果是Action请求,则通过`ActionProxy`找到对应的Action实例并执行。 5. **拦截器调用**:在Action执行前后,会调用一系列的拦截器进行预处理和后处理。 6. **结果处理**:Action执行完毕后,根据配置返回相应的视图结果。 #### 二、Struts2环境搭建 **2.1 搭建环境** 搭建Struts2环境主要包括以下几个步骤: 1. **下载Struts2**:访问官方网站下载最新的Struts2版本。 2. **复制依赖库**:将下载的Struts2依赖库复制到项目的`WEB-INF/lib`目录下。 3. **配置过滤器**:在`web.xml`中配置Struts2的过滤器。 4. **创建配置文件**:创建`struts.xml`文件,并放置在项目的class根目录下。 **具体步骤如下:** 1. **下载Struts2**:可以从官方网站下载Struts2的最新版本。例如,可以通过以下链接下载:[http://struts.apache.org/download.cgi#struts2341](http://struts.apache.org/download.cgi#struts2341) 2. **复制依赖库**:将下载的Struts2包中的所有jar文件复制到项目的`WEB-INF/lib`目录下。 3. **配置过滤器**:在`web.xml`中添加如下代码以配置Struts2的过滤器: ```xml <filter> <filter-name>struts2</filter-name> <filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class> </filter> <filter-mapping> <filter-name>struts2</filter-name> <url-pattern>/*</url-pattern> </filter-mapping> ``` 4. **创建配置文件**:创建`struts.xml`文件,并放置在项目的class根目录下。配置文件示例如下: ```xml <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.3//EN" "http://struts.apache.org/dtds/struts-2.3.dtd"> <struts> <!-- 配置Action --> <package name="default" namespace="/" extends="struts-default"> <action name="helloWorld" class="com.example.HelloWorldAction"> <result name="success">/helloWorld.jsp</result> </action> </package> </struts> ``` 以上就是Struts2环境的基本搭建过程,接下来就可以开始编写Action类和视图页面了。 #### 三、Struts2的核心组件 **3.1 过滤器(Filter)** - **ActionContextCleanUp**:这是一个可选过滤器,主要用于清理线程上下文中的`ActionContext`对象,对于Struts2与其他框架的集成非常有帮助。 - **StrutsPrepareAndExecuteFilter**:这是Struts2的主要过滤器,负责加载配置文件、处理请求等核心工作。 **3.2 拦截器(Interceptor)** 拦截器是Struts2框架的核心组件之一,用于实现特定的功能,如输入验证、日志记录等。Struts2提供了一系列默认的拦截器,并允许用户自定义拦截器。 **3.3 ActionMapper** `ActionMapper`负责将HTTP请求映射到对应的Action上。大部分情况下,`ActionMapper`并不需要显式配置,它会自动根据请求路径匹配Action。 **3.4 ActionProxy** `ActionProxy`是Action的一个代理类,它的主要作用是负责调用具体的Action。在Struts2中,所有的Action调用都是通过`ActionProxy`来完成的。 通过以上内容,我们可以看到Struts2是一个功能强大且易于使用的Java Web开发框架,它简化了Web应用程序的开发过程,使开发者能够更专注于业务逻辑的实现。






























剩余8页未读,继续阅读


- 粉丝: 0
我的内容管理 展开
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助


最新资源
- ctoc电子商务专题知识讲座.pptx
- C语言第7讲关系运算与逻辑运算if语句.ppt
- 基于单片机温度控制系统的设计.doc
- 基于AT89C52单片机的温室控制系统.doc
- 专题讲座资料(2021-2022年)单片机的红外防盗报警器.doc
- 购物网站策划书.doc
- 基于数据挖掘技术的负荷预测及主动设备维护可行性研究报告.doc
- 计算机教研组工作总结(2023年2023年第一学期).docx
- 【源版】第五章-数据库技术基础.ppt
- 工厂数字化网络监控系统解决方案.doc
- 网络谣言的传播与成因.ppt
- 基于GPS车辆跟踪系统的移动对象数据库应用研究.doc
- 光纤通信(第5版)课后习题答案要点.doc
- 高中数学第1章算法初步章末复习与总结课件新人教A版必修.ppt
- 网络研修学习总结.doc
- 中小型企业网站建设方案模板.doc


