### Struts2框架学习笔记整理 #### 一、Struts2框架概述 ##### 1.1 Struts2框架定义 Struts2是一个基于MVC(Model-View-Controller)架构模式的开源Java web应用框架,它能够帮助开发者构建可扩展且易于维护的应用程序。Struts2的设计目的是为了替代传统的Servlet技术,并提供一种更加简洁、高效的处理用户请求的方式。 ##### 1.2 Struts2的核心特点 - **核心机制**:Struts2采用拦截器机制处理用户的HTTP请求,这使得业务逻辑控制器和Servlet API完全分离。 - **前端控制器模式**:Struts2的前端控制器是过滤器(Filter),而Spring MVC的前端控制器是DispatcherServlet。这种设计简化了请求处理流程。 - **请求处理流程**:当用户请求到达时,Struts2的前端控制器会根据配置将请求交给相应的Action处理。 #### 二、Struts2框架搭建与配置 ##### 2.1 导入Jar包 - **下载Struts2的Jar包**:首先需要下载Struts2的库文件,通常包含多个必需的Jar包,如`struts2-core-2.3.24.jar`等。 - **添加必要的第三方库**:注意避免库版本冲突问题,例如`javassist-3.18.1-GA.jar`可能与Hibernate中使用的版本重复,需要确保版本兼容性。 - **整合Spring**:如果需要整合Spring框架,需要导入`Struts-spring-plugin-2.3.24.jar`,并在启动时寻找Spring容器。 ##### 2.2 编写Action类 - **编写Action**:创建一个简单的Java类,该类可以是POJO或实现特定的Action接口。 - **POJO Action**:具有公共无参构造函数和`execute()`方法的POJO类,返回类型为`String`,可以被Struts2识别并处理。 - **实现Action接口**:实现`Action`接口或继承`ActionSupport`类,提供更多内置功能。 ##### 2.3 配置Struts.xml文件 - **放置位置**:将`struts.xml`配置文件放置在项目的`src`目录下。 - **常量配置**:通过在`struts.xml`文件中添加`<constant>`标签来配置常量,例如`struts.devMode`用于开发模式。 - **动态方法调用**:支持动态方法调用,允许通过URL参数指定要执行的方法名称。 - **Action配置**:定义Action的名称、类以及执行的方法。 #### 三、Struts2框架进阶 ##### 3.1 参数封装 - **属性驱动**:通过提供setter方法来接收表单提交的数据。 - **模型驱动**:将表单提交的数据封装到一个JavaBean中,通常需要实现`ModelDriven`接口。 - **集合参数封装**:使用List、Set等集合类型封装多个相同类型的参数。 - **Map参数封装**:使用Map类型封装键值对形式的参数。 ##### 3.2 访问Servlet API - **通过ActionContext访问**:使用ActionContext获取Servlet API对象,如Request、Session、Application等。 - **ActionContext生命周期**:每个请求周期内创建一个ActionContext实例,并在请求结束后销毁。 #### 四、Struts2框架实践案例 ##### 4.1 实现CRUD操作 - **创建(Create)**:定义Action接收表单提交的数据,并调用Service层保存到数据库。 - **读取(Retrieve)**:定义Action查询数据,并将结果展示在页面上。 - **更新(Update)**:定义Action接收修改后的数据,并调用Service层更新数据库。 - **删除(Delete)**:定义Action处理删除操作,调用Service层删除数据库记录。 #### 五、Struts2框架总结 Struts2框架为Java Web开发者提供了一种高效、灵活的方式来构建Web应用程序。通过对Struts2的学习,开发者不仅可以掌握其基本用法,还能深入理解其内部原理和技术细节,从而更好地利用这一强大工具解决实际项目中的问题。

















剩余41页未读,继续阅读


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


最新资源
- 综合布线技术与工程教材全套课件教学教程整本书电子教案全书教案课件.ppt
- 六套项目管理模拟题并附有讲解的项目管理复习资料-.doc
- 网络营销、推广快速入门教程以及网络营销、推广案例.pptx
- 数据通信与计算机网络7.ppt
- (源码)基于Azure IoT Plug and Play的EnOcean多传感器连接系统.zip
- 数控编程技术教案公开课一等奖优质课大赛微课获奖课件.pptx
- 上中间件安装部署手册.doc
- ios苹果商店付费热门手机App排行榜.docx
- 软件工程师-九个HTML5和JavaScript实验设计案例.docx
- 使用IBMPowerExecutive来管理服务器能耗.docx
- 第9章-嵌入式Linux软件设计.ppt
- ibm及国内it业实施ipd集成产品开发流程变革内因与成果.doc
- 智能手机硬件和网络销售人员必备二.pptx
- 公司工资管理系统程序设计报告.doc
- (完整版)《基因工程》PPT教学.ppt
- 三峡某银行网络改造总体设计方案项目策划书.doc


