黑马程序员_struts2框架2016版视频_struts2_day01笔记
### Struts2框架概述 #### 1.1 什么是Struts2框架? **Struts2框架** 是一个基于MVC(Model-View-Controller)架构的开源Java Web应用程序框架,它简化了Java Web应用程序的开发过程。Struts2提供了一种简洁而强大的方式来构建动态的、可扩展的应用程序。 **问题:** - **什么是框架?** - 框架是指预先设计好的软件结构,用于支持特定类型的应用程序开发。 - **为什么学习框架?** - 学习框架可以提高开发效率并简化开发过程。框架提供了一系列预定义的功能,开发者无需从零开始编写所有代码,这使得开发者能够更快地构建应用程序,并且更容易维护和扩展这些应用程序。 #### 1.2 Struts2的由来 Struts2是结合了**Struts1** 和 **WebWork** 两个框架的优点发展而来的。随着Java技术的发展和Web应用的需求变化,最初的Struts1设计开始暴露出一些限制,比如不支持拦截器等。而WebWork框架在设计上更为先进,引入了许多新的特性,如拦截器机制和OGNL表达式语言。为了克服这些限制并利用WebWork的优点,Apache推出了Struts2框架。 - **Struts1**:大约在2000年左右出现,几乎所有的Java开发者都在使用。 - **WebWork**:具有更先进的设计理念,如拦截器机制和OGNL表达式语言。 - **Struts2**:融合了Struts1的易用性和WebWork的强大功能,提供了一种更高效的Web应用程序开发方式。 #### 1.3 Struts2的开发包结构 在使用Struts2框架时,开发者需要导入一系列的jar包。课程中使用的是**struts-2.3.15.3-all.zip**版本的学习资料。其中包含了一些关键的组成部分: - **apps**:提供了示例应用程序,方便快速导入所需的jar包和配置文件。 - **lib**:包含了开发Struts2所需的所有jar包。 - **src**:包含了源代码。 在实际开发过程中,通常只需要导入lib下的13个核心jar包即可。这些jar包主要包括: - **struts2-core**: Struts2的核心库。 - **xwork-core**: Struts2和WebWork所依赖的命令模式框架。 - **ognl**: OGNL表达式语言,提供更强大的表达式处理能力。 - **freemarker**: 模板引擎,用于生成动态内容。 - **commons-logging**: 日志接口。 - **commons-lang3**: 提供字符串和数据操作的公共方法。 - **javassist**: 字节码操作库。 #### 1.4 Struts2入门理论 **JavaEE设计模式** 对于理解Struts2的工作原理非常重要。其中,**前端控制器模式**是Struts2中最为关键的设计模式之一。这种模式的主要作用是集中处理所有的HTTP请求,并将请求转发给合适的组件处理。 ### 2. Struts2快速入门案例 #### 第一步:创建Web项目 在MyEclipse中创建一个新的Java EE Web项目,选择适当的Java EE版本(本教程中使用5.0版本),并使用JDK6作为编译器。 #### 第二步:导入Struts2开发jar包 将**apps/struts2_blank.war/WEB-INF/lib**中的13个核心jar包导入项目中。这些jar包包括但不限于: - asm-* - commons-fileupload - commons-lang3 - commons-logging - freemarker - javassist - ognl - struts2-core - xwork-core #### 第三步:配置web.xml 在项目的`WEB-INF`目录下创建或修改`web.xml`文件,配置Struts2的前端控制器。 #### 第四步:配置struts.xml 创建`struts.xml`文件,该文件用于定义应用程序的行为,包括Action的配置和结果集的设置。 #### 第五步:编写HelloAction 创建一个简单的`HelloAction`类,类似于之前的Servlet,用于处理请求并返回响应。 #### 第六步:注册Action和请求资源虚拟路径 在`struts.xml`文件中注册`HelloAction`类,并为其分配一个URL路径。 #### 第七步:访问Action 通过浏览器访问指定的URL,查看Struts2应用程序的输出结果。 ### 3. 分析Struts2运行原理 Struts2的核心是**StrutsPrepareAndExecuteFilter**,这是一个过滤器,它负责处理所有的HTTP请求,并将请求转发给相应的Action。Struts2的工作流程如下: 1. **接收请求**:当客户端发送HTTP请求时,请求首先被发送到前端控制器过滤器。 2. **解析请求**:过滤器解析请求,并根据配置文件(通常是`struts.xml`)确定应该调用哪个Action。 3. **执行Action**:Action执行具体的业务逻辑,并返回一个结果对象,指示视图应该如何呈现。 4. **返回视图**:根据Action返回的结果对象,视图组件(如JSP页面或FreeMarker模板)呈现最终的HTML页面给用户。 通过这种方式,Struts2框架不仅简化了开发过程,还确保了应用程序的可维护性和可扩展性。
剩余60页未读,继续阅读
- 粉丝: 3
- 资源: 8
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 基于HTML+JavaScript+Java+CSS技术的体育赛事管理系统设计源码
- 基于Python和JavaScript的综合性门户网站信息666设计源码
- 基于Java语言的宠物生活管理APP设计源码
- 基于Java和智能遥感的农业保险理赔与智慧农业设计源码
- 基于Java开发的买菜网项目设计源码
- 基于HTML+CSS+JavaScript的Java实现美食分享平台设计源码
- 基于Java和多种语言集成的WeBASE-Evidence-Sample设计源码
- 基于HTML、CSS、JavaScript的儿童编程教育系统设计源码
- 基于C++和Shell语言的PLANTFACTORY设计源码
- 20241007_221346.gif