logo资料库

北京动力节点Java视频教程资料-Struts2讲义.pdf

第1页 / 共130页
第2页 / 共130页
第3页 / 共130页
第4页 / 共130页
第5页 / 共130页
第6页 / 共130页
第7页 / 共130页
第8页 / 共130页
资料共130页,剩余部分请下载后查看
第1章 Struts2入门
1.1 Struts2简介
1.1.1 框架
1.1.2 Struts2简介
1.1.3 Struts2下载与版本
1.1.4 Strut2的优点
1.2 Struts2开发环境的搭建
1.2.1 Struts2的Jar包
1.2.2 Struts2的配置文件
1.2.3 配置Struts2的启动项
1.2.4 搭建成功的测试
1.2.5 第一个Struts2的应用程序
1.3 Struts2工作流程
1.3.1 开发流程
1.3.2 执行流程
1.4 Web项目的部署(回顾)
1.4.1 项目名称的问题
1.4.2 端口号的问题
第2章 Struts配置文件
2.1 Struts2相关的六个配置文件
2.1.1 struts-default.xml(重要)
2.1.2 default.properties(重要)
2.1.3 struts-plugin.xml
2.1.4 struts.xml(最重要)
2.1.5 struts.properties
2.1.6 web.xml
2.1.7 配置文件的设置优先级
2.2 Struts核心配置文件
2.2.1 标签
(1)name属性
(2)namespace属性
(3)extends属性
(4)abstract属性
2.2.2 标签
(1)name属性
(2)method属性
(3)class属性
2.2.3 标签
(1)name属性
(2)type属性
A、dispatcher转发
B、redirect跳转
C、redirectAction 跳转
D、chain跳转
2.2.4 全局视图globalResults
(1)包范围全局视图
(2)应用范围全局视图
2.2.5 为应用指定多个配置文件
第3章 Struts2核心
3.1 动态调用方法
3.1.1 动态方法调用
3.1.2 使用通配符定义的Action
3.2 接收请求参数
3.2.1 属性驱动方式
3.2.2 域驱动方式
3.2.3 集合数据接收
3.2.4 ModelDriven方式
3.2.5 Action对象是多例的
3.2.6 回顾 -- Servlet是单例多线程的
3.3 在Action中获取Servlet API
3.3.1 通过ActionContext获取(重要)
3.3.2 通过ServletActionContext获取(重要)
3.3.3 通过实现特定接口来获取(了解)
3.4 OGNL与值栈
3.4.1 OGNL
(1)OGNL与Struts2的关系
(2)什么是OGNL
(3)OGNL的特点
(4)OGNL文档解读
3.4.2 值栈
(1)值栈的创建
(2)值栈的组成
A、root的类型
B、context的创建
(3)值栈的获取很麻烦
(4)context属性的别名ActionContext
(5)值栈的获取很简单
(6)值栈的栈操作
(7)归纳总结
3.4.3 获取值栈对象
(1)从request中获取值栈对象
(2)从ActionContext中获取值栈对象
(3)一个Action实例只有一个值栈对象
(4)一个Action的非根对象都存放在同一个Map中
3.4.4 值栈操作
(1)搭建测试环境
Step1:定义实体Student
Step2:定义Action
Step3:注册Action
Step4:定义视图页面show
(2)向root中显式放入数据
A、 通过操作值栈来添加无名称对象
B、通过操作root来添加无名称对象
C、添加map对象
D、直接添加有名称对象
E、将root作为ArrayList来添加对象
(3)向root中隐式放入数据
(4)向context中显式放入数据
A、向context中直接放入数据
B、向context的session中放入数据
C、向context的application中放入数据
D、JSP页面通过称为attr的key读取数据
(5)向context中隐式放入数据
A、请求参数
B、Action对象
(6)数据的加载顺序
A、root中数据的加载顺序
B、request中数据的加载顺序
3.4.5 OGNL对于集合的操作
(1)创建List与Map集合
(2)遍历List与Map集合
A、对List的遍历
B、对Map的遍历
(3)集合元素的判断
(4)集合投影
(5)集合查询
A、?的使用
B、^的使用
C、$的使用
3.5 类型转换
3.5.1 引入
3.5.2 默认类型转换器
3.5.3 自定义类型转换器
(1)局部类型转换器
(2)全局类型转换器
3.5.4 类型转换异常提示信息的修改
3.5.5 接收多种日期格式的类型转换器
(1)获取日期格式
(2)保存日期格式对象
(3)最终的类型转换器定义
3.6 数据验证
3.6.1 手工编写代码实现数据验证
(1)对Action中所有方法执行前的验证
(2)对Action中指定方法执行前的验证
3.6.2 基于XML配置方式实现输入数据验证
(1)对Action中所有方法执行前的验证
(2)对Action中指定方法执行前的验证
(3)常用验证器用法
3.6.3 输入验证的执行流程
3.6.4 Action类的执行原理及顺序
3.7 拦截器
3.7.1 普通拦截器定义
3.7.2 拦截器注册
(1)拦截器栈方式注册
(2)拦截器方式注册
(3)默认拦截器栈方式注册
3.7.3 权限拦截器举例
(1)项目创建
(2)项目测试
3.7.4 方法过滤拦截器
(1)定义Action
(2)定义拦截器类
(3)修改配置文件
3.7.5 多个拦截器的执行顺序
(1)定义OneInterceptor
(2)定义TwoIntercepter
(3)定义SomeAction
(4)定义struts.xml
(5)定义视图页面
3.8 国际化
3.8.1 国际化基础
(1)获取系统支持的语言与国家简称
(2)Struts2的i18n拦截器
3.8.2 全局范围资源文件
(1)JSP中普通文本的国际化
(2)JSP中表单元素的国际化
(3)Action类中文本的国际化
(4)资源文件中的占位符
(5)程序举例
Step1:创建资源文件
Step2:创建登录页面index.jsp
Step3:编写LoginAction
Step4:编写LanguageAction
Step5:修改配置文件
Step6:创建欢迎页面welcome.jsp
Step7:修改配置文件
3.8.3 包范围资源文件
3.8.4 Action范围资源文件
3.8.5 JSP中访问指定资源文件
3.9 文件上传
3.9.1 上传单个文件
3.9.2 上传多个文件
3.9.3 设置上传文件大小的最高限
3.9.4 限制上传文件的扩展名
3.10 文件下载
3.11 防止表单重复提交
3.11.1 令牌机制
3.11.2 防止表单重复提交注意事项
3.11.3 防止重复提交的步骤
3.12 Struts2标签
第4章 Struts2注解式开发
4.1 注解的基础知识
4.1.1 注解的基础语法
4.1.2 注解的注解
4.1.3 注解的属性
(1)数组问题
(2)默认值问题
(3)value属性问题
(4)无属性问题
4.2 Struts2注解注意事项
4.2.1 Jar包的导入
4.2.2 Action包的定义
4.2.3 Struts2的配置文件
4.3 Struts2注解详解
4.3.1 @ParentPackage
4.3.2 @Namespace
4.3.3 @Results
4.3.4 @Result
4.3.5 @Action
4.3.6 @InterceptorRef
4.3.7 @InterceptorRefs
4.4 Struts2注解举例
4.4.1 跳转到页面与Action
Step1:修改LoginAction
Step2:修改SecondAction
Step3:删除Struts2配置文件
4.4.2 注解代码中使用拦截器
Step1:修改Struts2配置文件
Step2:修改SomeAction
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
分享到:
收藏