Struts2 框架技术
课程讲义
北京动力节点教育培训公司
主讲:Reyco
www.bjpowernode.com
第 1 章 Struts2 入门
1.1 Struts2 简介
1.1.1 框架
框架(Framework)是整个或部分系统的可重用设计,表现为一组抽象构件及构件实例
间交互的方法;另一种定义认为,框架是可被应用开发者定制的应用骨架。
可以说,一个框架是一个可复用的设计构件,它规定了应用的体系结构,阐明了整个设
计、协作构件之间的依赖关系、责任分配和控制流程,表现为一组抽象类以及其实例之间协
作的方法,它为构件复用提供了上下文(Context)关系。
---- 百度百科《框架》
1.1.2 Struts2 简介
Struts2 以 WebWork 优秀的设计思想为核心,吸收了 Struts 框架的部分优点,提供了一
个更加整洁的 MVC 设计模式实现的 Web 应用程序框架。
---- 百度百科《Struts2 框架》
1.1.3 Struts2 下载与版本
Struts2 官网:http://struts.apache.org
北京动力节点 www.bjpowernode.com
2
版本号的意义:
Alpha:
内测版,一般不向外部发布,会有很多 Bug。
Beta:除错 + 增新
内测版,但相对于 Alpha 版已有了很大的改进,消除了严重错误,但还是存在缺陷,需
经更多测试来消除。这个阶段的版本会加入新的功能。
RC:除错
Release Candidate,发行候选版,外测版。与 Beta 版最大的区别在于 Beta 阶段会加入
新功能,而 RC 版一般不会加入新功能,而主要着重于除错。
RC 版本是最终发放给用户的最接近正式版的版本,发行后改正 bug 就是正式版了,是
正式版之前的最后一个测试版。
GA:
General Availability,普通有效版,稳定版,官方开始推荐广泛使用了。
Release:
发行版,即最终版。在一系列测试版之后的正式发行版本,是最终交付用户使用的一个
版本。该版本也称标准版。Release 会以单词形式出现在软件封面上,有时会使用符号 R。
1.1.4 Strut2 的优点
Struts2 的 Action 类为 POJO 类,不依赖于 Servlet API 和 Struts API。
(1)Struts2 是非侵入式设计
(2)Struts2 提供了拦截器,利用拦截器可以进行 AOP 编程,实现如权限拦截等功能。
(3)Struts2 提供了类型转换器,可以将特殊的请求参数转换成需要的类型。
(4)Struts2 的输入验证可以对指定方法进行验证。
(5)提供了全局范围、包范围和 Action 范围的国际化资源文件管理实现。
1.2 Struts2 开发环境的搭建
1.2.1 Struts2 的 Jar 包
Struts2 最基本的 Jar 包,可以从 Struts2 框架解压目录下的 apps 中的 struts2-blank.war
中获取。
北京动力节点 www.bjpowernode.com
3
将 struts2-blank.war 扩展名修改为 zip 后,解压。在其 WEB-INF\lib 中所有 Jar 即为 Struts2
运行的基本 Jar 包。从使用的两小日志 Jar 包可以看出,Struts2 使用的是 Log4j2 日志技术。
1.2.2 Struts2 的配置文件
Struts2 的默认配置文件为 struts.xml,该文件需存放在 WEB-INF/classes 下。即,在
myEclipse 中应放在 src 目录下。
Struts2 配置文件的头部可以从 struts2-core-2.3.24.jar 下的 struts-2.3.dtd 中找到。
北京动力节点 www.bjpowernode.com
4
1.2.3 配置 Struts2 的启动项
在 Struts2 中,Struts 框架是通过 Filter 启动的。Filter 在 web.xml 中的配置如下:
若忘记了配置细节,可从 struts2-blank.war 解压目录中 WEB-INF 下的 web.xml 中复制。
北京动力节点 www.bjpowernode.com
5
1.2.4 搭建成功的测试
将该项目部署到服务器后,启动服务器,在控制台没有报错,则说明 Struts2 应用平台
搭建成功。
1.2.5 第一个 Struts2 的应用程序
完成功能:
用户登录后在页面显示“Struts2 欢迎你【xxx】!”,将用户名显示出来。
实现步骤:
在搭建好 Struts2 环境后,完成下面步骤:
Step1:新建页面 index.jsp
Step2:创建 Action 类
Step3:修改 struts.xml 配置文件
北京动力节点 www.bjpowernode.com
6
Step4:创建 success.jsp 页面
1.3 Struts2 工作流程
1.3.1 开发流程
(1)编写页面
(2)定义 Action 类
(3)注册 Action
(4)编写结果页面
北京动力节点 www.bjpowernode.com
7
1.3.2 执行流程
1.4 Web 项目的部署(回顾)
1.4.1 项目名称的问题
在程序的开发阶段,对代码进行调试时,一般是通过如下方式将项目部署到 Tomcat 主
目录下的 webapps 目录下。
北京动力节点 www.bjpowernode.com
8