理论部分 2
第1章 Struts与MVC 2
1.1 JavaWeb应用概述 2
1.1.1 Servlet组件 2
1.1.2 JSP组件 3
1.1.3 JavaBean组件 4
1.2 Web组件的三种关联关系 4
1.2.1 请求转发 5
1.2.2 请求重定向 5
1.2.3 包含 5
1.3 Mode12概述 6
1.3.1 MVC设计模式 6
1.3.2 JSP Modell和JSP Model2 7
1.4 Struts概述 8
1.4.1 Struts实现MVC的机制 8
1.4.2 Struts2的工作原理 10
1.4.3 Struts的工作流程 11
第2章 深入Struts2 13
2.1 Struts的优点 13
2.2 Struts的动作处理流程 13
2.3 拦截器 14
2.4 Struts配置文件 15
2.4.1 web.xml文件 16
2.4.2 struts.xml文件 16
2.4.3 struts-config.xml文件 18
2.4.4 struts.properties文件 19
2.5 Struts应用——helloapp应用 21
2.5.1 分析helloapp应用的需求 21
2.5.2 运用Struts框架 22
2.5.3 创建视图组件 22
2.5.4 创建控制器组件 26
2.5.5 创建模型组件 29
2.5.6 创建存放常量的Java文件 30
2.5.7 创建配置文件 31
2.5.8 创建Struts框架的配置文件 32
2.5.9 发布和运行helloapp应用 33
第3章 Struts2动作 36
3.1 Struts2动作简介 36
3.2 打包动作 38
3.3 实现动作 38
3.3.1 可选的Action接口 38
3.3.2 ActionSupport类 39
3.4 向对象传递数据 39
3.4.1 对象支持的JavaBean属性 39
3.4.2 ModelDriven动作 41
3.4.3 域对象用作数据转移的潜在危险 41
第4章 Struts2的拦截器 43
4.1 拦截器的工作原理 43
4.1.1 总指挥ActionInvocation 43
4.1.2 如何触发拦截器 44
4.2 研究内建的Struts2拦截器 45
4.2.1 工具拦截器 45
4.2.2 数据转移拦截器 46
4.2.3 工作流拦截器 46
4.2.4 其他拦截器 49
4.2.5 内建的拦截器栈 50
4.3 声明拦截器 50
4.4 构建自定义拦截器 55
第5章 数据转移:OGNL和类型转换 63
5.1 数据转移和类型转换:Web应用程序领域的常见任务 63
5.2 OGNL和Struts2 64
5.2.1 OGNL是什么 64
5.2.2 OGNL如何融入框架 65
5.2.3 OGNL中三个重要符号的用法 66
5.3 内建的类型转换器 67
5.3.1 立即可用的类型转换器 67
5.3.2 使用OGNL表达式从表单字段名映射到属性 67
5.4 自定义类型转换 72
5.4.1 实现类型转换器 72
5.4.2 在字符串和Java对象间转换 72
5.4.3 配置框架使用自定义转换器 73
第6章 Struts2的输入验证 75
6.1 验证程序概述 75
6.2 验证程序的配置 76
6.3 Struts内建验证程序 77
6.3.1 required验证程序 77
6.3.2 requiredString验证程序 77
6.3.3 stringlength验证程序 77
6.3.4 int验证程序 78
6.3.5 date验证程序 78
6.3.6 email验证程序 78
6.3.7 url验证程序 78
6.3.8 regex验证程序 79
6.3.9 expression和fieldexpression验证程序 79
6.3.10 conversion验证程序 79
6.3.11 visitor验证程序 80
6.4 自定义验证程序 81
6.4.1 创建自定义验证器 81
6.4.2 使用自定义验证器 82
第7章 Struts2的标签库 86
7.1 Struts2的标签库介绍 86
7.1.1 Struts2的作用 86
7.1.2 Struts2分类 86
7.1.3 Struts2标签使用前的准备 86
7.2 控制标签的使用 87
7.2.1 条件标签if…elseif…else 87
7.2.2 迭代标签iterator 87
7.2.3 集合合并标签append和merge 87
7.2.4 字符串分割标签generator 88
7.2.5 集合子集标签subset 88
7.2.6 排序标签sort 88
7.3 数据标签的使用 89
7.3.1 设置变量标签set 89
7.3.2 栈顶置值标签push 89
7.3.3 javabean创建标签bean 89
7.3.4 日期格式化标签date 90
7.3.5 调试标签debug 90
7.3.6 资源包含标签include 90
7.3.7 URL生成标签url 90
7.3.8 数据输出标签property 91
7.4 表单标签的使用 91
7.4.1 checkboxlist标签 92
7.4.2 doubleselect标签 92
7.4.3 combobox(组合框) 93
7.4.4 optiontransferselect标签 93
7.4.5 select(下拉菜单) 94
7.4.6 datetimepicker(日历控件) 95
7.4.7 radio标签 95
第8章 国际化与文件上传下载 97
8.1 本地化与国际化的概念 97
8.2 Struts2框架和Java i18n 98
8.2.1 使用ResourceBundle和Locale取得本地化文本 98
8.2.2 Struts2如何解决本地Java对i18n支持的问题 100
8.3 Struts2 i18n示例 101
8.3.1 Struts2 i18n快速展示 101
8.3.2 实现机制 103
8.4 Struts2的文件上传 103
8.4.1 Struts2提供的文件上传支持 104
8.4.2 使用Struts2实现单个文件上传 104
8.4.3 FileUpload拦截器实现文件过滤 109
8.5 同时上传多个文件 109
8.5.1 使用数组同时上传多个文件 110
8.5.2 使用List同时上传多个文件 113
8.6 使用Struts2控制文件下载 115
第9章 生成JFreeChart报表 117
9.1 JFreeChart API 117
9.1.1 JFreeChart类 117
9.1.2 plot抽象类 118
9.2 数据源处理 119
9.3 使用J FreeChart处理统计图表 119
9.3.1 柱状图 120
9.3.2 饼状图 121
9.4 Struts2与JFreeChart的整合 125
上机部分 136
上机1 Struts与MVC 136
第1阶段 指导 136
指导1 创建员工管理系统的Web应用 136
指导2 创建员工管理系统的数据访问层 137
指导3 实现员工管理系统的业务逻辑层 141
第2阶段 练习 142
练习 使用Struts2框架处理用户登录 142
上机2 深入Struts2 143
第1阶段 指导 143
指导1 显示使用的部门信息 143
指导2 查看部门详情 148
指导3 Action动态调用方法的使用 150
第2阶段 练习 151
练习 Action动态调用方法的使用 151
上机3 Struts2动作 152
第1阶段 指导 152
指导 动作与拦截器协作实现文件上传 152
第2阶段 练习 154
练习 通过动作访问资源 154
上机4 Struts2的拦截器 155
第1阶段 指导 155
指导 使用拦截器验证用户是否登录 155
第2阶段 练习 159
练习 拦截器的使用 159
上机5 数据转移:OGNL和类型转换 160
第1阶段 指导 160
指导1 使用Struts2的局部类型转换器 160
指导2 使用Struts2的全局类型转换器 163
第2阶段 练习 166
练习1 使用集合方式收集用户信息 166
练习2 输出类型转换错误信息 166
上机6 Struts2的输入验证 167
第1阶段 指导 167
指导 使用Struts2验证用户注册信息 167
第2阶段 练习 175
练习 验证框架的使用 175
上机7 Struts2的标签库 176
第1阶段 指导 176
指导 创建员工管理系统的Web应用 176
第2阶段 练习 184
练习1 常用标签的使用 184
练习2 optiontransferselect左右上拉列表应用 184
上机8 国际化与文件上传下载 185
第1阶段 指导 185
指导1 使用Struts2实现动态语言切换 185
指导2 使用Struts2实现文件上传 188
第2阶段 练习 195
练习1 控制上传文件的大小和类型 195
练习2 显示自定义错误信息 195
上机9 生成JFreeChart报表 196
第1阶段 指导 196
指导1 使用JFreeChart生成饼图 196
指导2 使用JFreeChart生成柱状图 198
指导3 JFreeChart与Struts2的整合 201
第2阶段 练习 204
练习 动态生成统计报表 204
参考文献 205