内容简介
第1章 Struts 2概述
1.1 MVC思想概述
1.1.1传统的Model 1和Model 2
1.1.2 MVC思想及特点
1.1.3常见MVC技术
1.2 Struts 1概述
1.3 Struts 2概述
1.3.1 Struts 2的优势
1.3.2 Struts 2的体系结构
1.3.3 Struts 2的配置文件
1.3.4 Struts 2的标签库
1.3.5 Struts 2的控制器
1.4 Struts 2的下载和安装
1.5上机实训
1.6本章习题
第2章 Struts 2入门
2.1 HelloWorld应用介绍
2.2创建Struts 2的Web应用
2.2.1创建Web应用
2.2.2用户请求页面
2.2.3控制器实现
2.2.4配置Action
2.2.5完成应用
2.3 Struts 2的Action
2.3.1实现Action接口
2.3.2 Action访问ActionContext
2.3.3继承ActionSupport类
2.4上机实训
2.5本章习题
第3章 Struts 2的核心技术
3.1 Struts 2的执行流程和原理
3.2 Action的驱动模式
3.2.1属性驱动模式
3.2.2模型驱动模式
3.3上机实训
3.4本章习题
第4章 Struts 2的配置方式(1)
4.1 web.xml文件的配置
4.2 struts.xml文件的配置
4.2.1 bean的配置
4.2.2 package的配置
4.2.3 namespace的配置
4.2.4 constant的配置
4.2.5 interceptor的配置
4.2.6 include的配置
4.2.7 action的配置
4.2.8 result的配置
4.2.9 exception的配置
4.3 Result Types的配置
4.3.1 Chain Result的配置
4.3.2 Dispatcher Result的配置
4.3.3 FreeMarker Result的配置
4.3.4 HttpHeader Result的配置
4.3.5 Redirect Result的配置
4.3.6 Stream Result的配置
4.3.7 Velocity Result的配置
4.3.8 Xslt Result的配置
4.3.9 PlainText Result的配置
4.3.10 JSON Result的配置
4.3.11全局结果
4.3.12动态结果映射
4.4上机实训
4.5本章习题
第5章 Struts 2的配置方式(2)
5.1 Annotations的配置
5.1.1 Namespace的配置
5.1.2 ParentPackage的配置
5.1.3 Action的配置
5.1.4 Actions的配置
5.1.5 InterceptorRefs的配置
5.1.6 Result的配置
5.1.7 Results的配置
5.1.8 ResultPath的配置
5.1.9 ExceptionMapping的配置
5.1.10 ExceptionMappings的配置
5.2 Validation Annotations的配置
5.2.1 ConversionErrorFieldValidator的配置
5.2.2 DateRangeFieldValidator的配置
5.2.3 DoubleRangeFieldValidator的配置
5.2.4 EmailValidator的配置
5.2.5 ExpressionValidator的配置
5.2.6 IntRangeFieldValidator的配置
5.2.7 RegexFieldValidator的配置
5.2.8 RequiredFieldValidator的配置
5.2.9 RequiredStringValidator的配置
5.2.10 StringLengthFieldValidator的配置
5.2.11 UrlValidator的配置
5.2.12 Validation的配置
5.2.13 Validations的配置
5.2.14 VisitorFieldValidator的配置
5.2.15 CustomValidator的配置
5.3 struts.properties的配置
5.4 struts-plugin.xml的配置
5.5各种配置文件的加载顺序
5.6上机实训
5.7本章习题
第6章 Struts 2的类型转换
6.1 Struts 2类型转换器
6.1.1 Struts 2内置的类型转换器
6.1.2自定义转换器
6.2批量类型转换
6.3上机实训
6.4本章习题
第7章 Struts 2的拦截器
7.1理解拦截器
7.1.1理解DRY规则
7.1.2拦截器的原理
7.1.3 Struts 2内建的拦截器
7.1.4 struts-default.xml里配置的拦截器
7.2拦截器的配置
7.2.1配置拦截器
7.2.2拦截器的使用
7.2.3配置默认的拦截器
7.3自定义拦截器
7.3.1实现拦截器类
7.3.2使用拦截器
7.3.3拦截方法的拦截器
7.4拦截器示例
7.5用Annotation配置拦截器
7.6上机实训
7.7本章习题
第8章 Struts 2 OGNL的应用
8.1 OGNL概述
8.2 OGNL语法基础
8.2.1 OGNL表达式
8.2.2常量
8.2.3操作符
8.2.4访问JavaBean中的属性
8.2.5索引访问
8.3 OGNL的使用
8.4 Struts 2中的OGNL
8.5上机实训
8.6本章习题
第9章 Struts 2的标签(1)
9.1 Struts 2标签的引入
9.2通用标签
9.2.1流程控制标签
9.2.2数据标签
9.3 UI标签
9.3.1表单标签
9.3.2非表单标签
9.4上机实训
9.5本章习题
第10章 Struts 2的标签(2)
10.1 Ajax标签
10.1.1 a标签
10.1.2 autocompleter标签
10.1.3 bind标签
10.1.4 datetimepicker标签
10.1.5 div标签
10.1.6 head标签
10.1.7 submit标签
10.1.8 tabbedPanel标签
10.1.9 textarea标签
10.1.10 tree/treenode标签
10.2 Struts 2主题和模板
10.3上机实训
10.4本章习题
第11章 Struts 2的校验
11.1校验基础
11.2服务器端的校验配置
11.3客户端校验配置
11.4 Ajax校验配置
11.5上机实训
11.6本章习题
第12章 Struts 2的国际化
12.1常见国际化示例
12.2页面内容的国际化
12.3错误信息国际化
12.4格式化输出日期和数值
12.5资源文件的加载方式和流程
12.6上机实训
12.7本章习题
第13章 Struts 2上传下载和其他技术
13.1 Token防止表单重复提交
13.1.1 TokenInterceptor的使用
13.1.2 TokenSessionStoreInterceptor的使用
13.2 Struts 2文件的上传和下载
13.2.1 Struts 2文件的上传
13.2.2 Struts 2文件的下载
13.2.3中文文件的下载
13.3 Struts 2中文乱码处理总结
13.4页面跳转技巧
13.5使用SiteMesh布局
13.5.1 SiteMesh简介
13.5.2 SiteMesh运行原理
13.5.3 SiteMesh实例
13.6在Struts 2中使用FreeMarker
13.6.1 FreeMarker简介
13.6.2 FreeMarker快速上手
13.6.3在Struts 2中使用FreeMarker
13.7上机实训
13.8本章习题
第14章 S2SH技术整合
14.1为什么要整合S2SH
14.2 Struts 2与Spring整合
14.3 Struts 2与Hibernate整合
14.4 Struts 2+Spring+Hibernate整合
14.5上机实训
14.6本章习题
第15章 Struts 2留言板项目案例
15.1系统概述
15.2系统需求
15.2.1前台留言板块
15.2.2管理留言板块
15.3系统功能描述
15.3.1浏览留言
15.3.2管理员后台操作
15.4系统设计
15.4.1系统架构设计
15.4.2业务实体设计
15.4.3业务逻辑设计
15.5数据库设计
15.5.1 E-R图设计
15.5.2物理建模
15.5.3设计表格
15.5.4数据表脚本
15.6 JDBC封装
15.6.1公共接口封装
15.6.2数据库连接类
15.6.3 Dao工厂类
15.7功能模块实现
15.7.1控制器Action的实现
15.7.2业务逻辑层的实现
15.7.3 struts.xml文件的配置
15.8运行工程
15.8.1使用工具
15.8.2工程部署
15.8.3运行程序
15.9上机实训
15.10本章习题
附录1 部分属性设置说明
附录2 Struts 2程序开发实用教程习题答案