Struts2是一个全新的框架,但这仅仅是相对Struts 1而言。Struts 2 与Struts 1相比,确实有很多革命性的改进,但它并不是新发布的新框架,而是在另一个赫赫有名的框架:WebWork基础上发展起来的。从某种程度上来讲,Struts2没有继承Struts 1的血统,而是继承WebWork的血统 ### Struts2框架详解 #### 一、Struts2框架简介及发展历程 Struts2作为一款流行的Java Web应用开发框架,其发展历程具有一定的历史背景和技术革新。与Struts 1相比,Struts 2虽然在名称上有所继承,但实际上它是基于另一个著名的框架——WebWork发展而来,而非直接从Struts 1进化。这一转变使得Struts 2在设计理念和技术实现上都有了很大的提升。 **发展历程:** - **起源与背景**:Struts 2框架在设计之初就旨在克服Struts 1的一些局限性,比如灵活性不足、扩展性有限等问题。 - **技术基础**:它继承了WebWork的许多优点,如拦截器机制、灵活的配置方式等,这些特性使得Struts 2相较于Struts 1更加灵活且易于使用。 - **技术革新**:相比于Struts 1,Struts 2采用了更为先进的设计思想和技术架构,例如使用拦截器而不是Servlet容器来处理请求,这极大地提高了框架的可扩展性和性能。 #### 二、Struts2框架的主要特点 **1. 基于MVC设计模式:** - **模型层**:负责处理业务逻辑和数据存储。 - **视图层**:展示用户界面,通常使用JSP或FreeMarker等模板引擎。 - **控制器层**:处理用户请求,调用模型处理逻辑,并选择合适的视图进行展示。 **2. 动作驱动架构:** - **动作类**:作为核心组件,用于处理具体的业务逻辑。在Struts 2中,动作类通常需要继承自`com.opensymphony.xwork2.ActionSupport`类。 **3. 拦截器机制:** - **拦截器**:类似于AOP的概念,可以用来处理请求的前置和后置操作,如验证、日志记录等。 **4. 配置灵活:** - **配置文件**:主要使用XML文件来进行配置,包括定义动作映射、拦截器等,同时也支持注解配置。 **5. 支持多种视图技术:** - **视图组件**:除了传统的JSP之外,还支持Freemarker、Velocity等多种视图技术。 #### 三、Struts2环境搭建与基本应用 根据给定的内容,我们将逐步介绍如何搭建Struts2开发环境并创建一个简单的应用实例。 **1. 开发工具与依赖库** - **开发工具**:MyEclipse6 - **Web服务器**:Tomcat6 - **Struts版本**:Struts2.0.11.1 - **JDK版本**:JDK1.5.0_12 - **J2EE版本**:JavaEE5.0 **2. 必需的库文件** - `struts2-core-2.0.11.1.jar` - `xwork-2.0.4.jar` - `commons-logging-1.0.4.jar` - `freemarker-2.3.8.jar` - `ognl-2.6.11.jar` **3. Web应用部署** - **Web应用上下文路径**:struts2 - **访问路径示例**:`http://localhost:8080/struts2/index.jsp` **4. 安装Struts2** - **入口点**:Struts2使用Filter而非Servlet作为入口点。 - **配置示例**: ```xml <filter> <filter-name>struts2</filter-name> <filter-class>org.apache.struts2.dispatcher.FilterDispatcher</filter-class> </filter> <filter-mapping> <filter-name>struts2</filter-name> <url-pattern>/*</url-pattern> </filter-mapping> ``` **5. 编写Action类** - **继承类**:从`com.opensymphony.xwork2.ActionSupport`继承。 - **示例代码**: ```java package action; import com.opensymphony.xwork2.ActionSupport; public class FirstAction extends ActionSupport { // 实现具体业务逻辑 } ``` 通过以上步骤,我们可以看到Struts 2相较于Struts 1在配置和使用上的显著差异,以及它如何简化了开发流程并提供了更多的灵活性。这种基于WebWork的技术革新不仅提升了框架的整体性能,也为开发者提供了更为强大的功能支持。



















剩余44页未读,继续阅读


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


最新资源
- 第一章复杂动态网络基本概念.ppt
- 前端开发工程师如何在里提升自己.doc
- 数据库课程方案设计书---企业客户信息管理系统.doc
- 大学课程设计方案计算机应用基础.doc
- 建设工程项目管理模拟练习五.doc
- PLC电气控制柜的布局与结构设计方案.doc
- 中山大学C程序设计方案课件c4.doc
- 医院药品管理系统《软件工程》设计备份.doc
- 提高中职生计算机学习能力的方法研究.docx
- 医院信息化解决方案技术建议书-精简IT.doc
- SAAS软件即服务简介.doc
- 对公路工程施工项目管理存在问题浅析.docx
- 2017-2018学年高中数学-第一章-算法初步-1.3-算法案例-新人教A版必修3.ppt
- 物联网在武警部队仓库物资管理中的应用研究.docx
- 网络社会行为的进化心理学解析.docx
- PLC控制的花样喷泉系统设计方案.doc


