第1章 Java Web应用与Struts 初步...... 3
1.1 Java Web应用基础...... 3
1.1.1 Servlet与JSP组件简介...... 4
1.1.2 JavaBean在Java Web组件的应用...... 5
1.1.3 Web组件的3种关系...... 8
1.1.4 自定义标签与JSTL标签库...... 11
1.1.5 JSF技术简介...... 12
1.1.6 XML简介...... 16
1.2 MVC设计模式...... 16
1.2.1 理解MVC.... 16
1.2.2 MVC的实现模式...... 17
1.3 Struts设计模式...... 18
1.3.1 Struts实现MVC的机制...... 18
1.3.2 Struts工作流程...... 19
1.3.3 Struts的基本组件包...... 20
1.3.4 在Struts中与视图组件相关的标签...... 21
第2章 Struts开发环境的搭建与应用...... 22
2.1 需要提前安装的技术平台...... 22
2.1.1 JDK 1.5的安装与配置...... 22
2.1.2 Tomcat 5.5的安装...... 25
2.2 Struts开发环境安装...... 27
2.2.1 下载Struts类库...... 27
2.2.2 Tomcat服务器下安装Struts类库...... 27
2.3 Java开发工具搭建Struts环境...... 28
2.3.1 MyEclipse 5.0搭建Struts开发环境...... 28
2.3.2 JBuilder 2006搭建Struts开发环境...... 33
2.4 Struts实现数据库系统的操作...... 41
2.4.1 Struts在SQL Server数据库下的操作...... 41
2.4.2 Struts在MySQL数据库下的操作...... 44
第3章 解析Struts配置文件...... 46
3.1 解析web.xml配置元素...... 46
3.1.1 ActionServlet类的配置元素...... 46
3.1.2 请求ActionServlet类的配置元素...... 47
3.1.3 部署Struts标签库路径的配置元素...... 48
3.1.4 其他常用元素的配置...... 48
3.1.5 Struts中web.xml文件中完整代码...... 49
3.2 解析struts-config.xml. 51
3.2.1 数据源的配置元素...... 51
3.2.2 ActionForm类的配置元素...... 53
3.2.3 动态ActionForm的配置元素...... 55
3.2.4 异常的配置元素...... 58
3.2.5 全局转发的配置元素...... 61
3.2.6 Action类的配置元素...... 62
3.2.7 自定义控制器的配置元素...... 64
3.2.8 资源文件的配置元素...... 64
3.2.9 插件的配置元素...... 66
3.2.10 完整的struts-config.xml文件...... 67
第4章 控制器组件...... 69
4.1 控制器组件的流程机制...... 69
4.1.1 ActionServlet类...... 70
4.1.2 RequestProcessor类...... 71
4.1.3 Action类...... 74
4.1.4 ActionMapping类...... 76
4.1.5 ActionForward类...... 77
4.2 使用Struts内置的Action类...... 79
4.2.1 页面请求转发类...... 79
4.2.2 多个业务操作的类...... 83
4.2.3 SwitchAction类访问其他模块...... 87
4.3 Token令牌组件...... 89
4.3.1 Token令牌组件的原理...... 89
4.3.2 Token令牌组件的作用...... 89
4.3.3 Token相关的方法...... 90
4.3.4 其他代码说明...... 90
第5章 模型组件...... 94
5.1 在MVC设计模式中的模型...... 94
5.2 理解模型...... 95
5.2.1 模型的基本概念...... 95
5.2.2 概念模型...... 95
5.2.3 设计模型...... 96
5.3 业务逻辑层...... 97
5.3.1 业务逻辑层的简述...... 97
5.3.2 B/S多层体系结构...... 97
5.3.3 业务逻辑层在B/S多层体系结构中的作用...... 97
5.4 业务对象...... 98
5.4.1 业务对象的特征...... 98
5.4.2 业务对象的类型...... 98
5.4.3 业务对象的优点...... 99
5.4.4 业务逻辑实现代码...... 99
5.5 数据持久化层...... 101
5.5.1 数据持久化...... 101
5.5.2 数据访问对象...... 101
5.5.3 对象关系映射模式...... 106
第6章 视图组件...... 108
6.1 视图概述...... 108
6.2 Struts与视图...... 109
6.3 在视图中使用ActionForm类...... 109
6.4 ActionForm实践...... 110
6.4.1 创建ActionForm类...... 110
6.4.2 配置ActionForm类...... 111
6.4.3 访问ActionForm类...... 112
6.5 ActionForm类的使用技巧...... 113
6.5.1 ActionForm类与模型之间的关系...... 113
6.5.2 将ActionForm类的属性声明为String类型...... 113
6.5.3 实现跨页表单...... 113
6.6 视图组件本地化及国际化应用...... 119
6.6.1 国际化和本地化...... 119
6.6.2 Resource资源包...... 120
6.6.3 国际化方式...... 121
第7章 HTML标签库...... 127
7.1 HTML标签库的使用...... 127
7.2 页面初始化标签...... 128
7.2.1 <html:html>标签...... 128
7.2.2 <html:base>标签...... 128
7.3 创建页面链接的<html:link>标签...... 129
7.3.1 通过<html:link>标签链接到页面中的指定位置...... 129
7.3.2 使用<html:link>标签创建页面链接...... 130
7.3.3 使用<html:link>标签创建的链接传递参数...... 131
7.4 表单与基本表单元素标签...... 132
7.4.1 <html:form>表单标签...... 132
7.4.2 <html:text>文本域输入标签...... 133
7.4.3 <html:password>密码输入标签...... 134
7.4.4 <html:textarea>多行多列文本输入标签...... 134
7.4.5 <html:hidden>隐藏的文本域输入标签...... 134
7.4.6 <html:submit>提交按钮标签和<html:reset>复位按钮标签...... 134
7.4.7 <html:cancel>取消请求标签...... 138
7.5 下拉列表框标签...... 138
7.5.1 <html:select>标签...... 138
7.5.2 <html:option>标签...... 140
7.5.3 <html:options>标签...... 141
7.5.4 <html:optionsCollection>标签...... 146
7.6 单选按钮和检查框标签...... 148
7.6.1 <html:radio>单选按钮标签...... 148
7.6.2 <html:checkbox>检查框标签...... 149
7.6.3 <html:multibox>数组检查框标签...... 150
7.7 图片标签...... 153
7.7.1 <html:img>标签...... 153
7.7.2 <html:image>标签...... 153
7.8 文件上传标签<html:file>... 156
7.9 errors和messages标签...... 159
7.9.1 <html:errors>标签...... 159
7.9.2 <html:messages>标签...... 163
第8章 Bean标签库...... 165
8.1 Bean标签库的使用...... 165
8.2 将指定对象定义为变量的标签...... 166
8.2.1 <bean:define>:定义指定对象为变量的标签...... 166
8.2.2 <bean:cookie>:定义Cookie信息为变量的标签...... 167
8.2.3 <bean:header>:定义HTTP请求中的标头信息为变量的标签...... 168
8.2.4 <bean:parameter>:定义请求中的参数为变量的标签...... 169
8.2.5 <bean:page>:定义JSP隐含对象为变量的标签...... 170
8.2.6 <bean:size>:将数组或集合大小定义为变量的标签...... 171
8.3 输出消息或Bean的属性值的标签...... 172
8.3.1 <bean:message>:输出资源文件中消息的标签...... 172
8.3.2 <bean:write>:输出指定对象的值的标签...... 174
8.4 获取Web应用资源的标签...... 175
8.4.1 <bean:resource>标签...... 175
8.4.2 <bean:include>标签...... 175
8.4.3 <bean:struts>标签...... 176
第9章 Logic标签库...... 178
9.1 Logic标签库的使用...... 178
9.2 条件判断标签...... 179
9.2.1 进行比较运算的标签...... 179
9.2.2 判断指定内容是否存在或为空的标签...... 181
9.3 字符串匹配的标签...... 188
9.4 进行循环遍历的标签<logic:iterate>... 189
9.4.1 遍历由collection属性指定的集合...... 190
9.4.2 遍历由name属性指定的集合...... 192
9.5 流程控制标签...... 194
9.5.1 <logic:redirect>标签...... 194
9.5.2 <logic:forward>标签...... 194
第10章 Nested标签库...... 196
10.1 Nested标签库的使用...... 196
10.2 Nested标签库与其他标签库的关系...... 197
10.3 <nested:nest>标签的应用...... 198
10.4 <nested:writeNesting>标签的应用...... 199
10.5 <nested:root>标签的应用...... 200
第11章 Tiles标签库...... 205
11.1 通过include元素实现复合视图...... 205
11.2 通过<tiles:insert>标签实现复合式网页...... 208
11.3 简单Tiles模板实现复合视图...... 210
11.3.1 Tiles模板概述...... 210
11.3.2 <tiles:insert>标签...... 210
11.3.3 <tiles:put>标签...... 211
11.3.4 <tiles:putList>和<tiles:add>标签...... 212
11.3.5 <tiles:useAttribute>标签...... 213
11.4 基于XML文件与Tiles模板实现复合式网页...... 215
11.4.1 Tiles模板文件的描述...... 215
11.4.2 在Struts中使用Tiles模板描述文件...... 216
11.5 通过Struts中Action类来调用Tiles模板...... 218
11.6 Tiles模板扩展应用...... 220
第12章 在线投票...... 227
12.1 实例运行结果...... 228
12.2 设计与分析...... 228
12.2.1 系统分析...... 228
12.2.2 工作流程图...... 228
12.2.3 类的分布...... 229
12.2.4 Web文件及文件夹架构...... 229
12.3 技术要点...... 229
12.4 开发过程...... 230
12.4.1 数据表结构...... 230
12.4.2 模型组件的实现...... 230
12.4.3 控制器组件的实现...... 233
12.4.4 配置XML文件...... 234
12.4.5 视图组件的实现...... 235
12.5 调试、发布与运行...... 238
12.5.1 调试...... 238
12.5.2 发布与运行...... 239
第13章 网站计数器...... 240
13.1 实例运行结果...... 241
13.2 设计与分析...... 241
13.2.1 系统分析...... 241
13.2.2 系统流程图...... 241
13.2.3 类的分布...... 241
13.2.4 web文件及文件夹架构...... 242
13.3 技术要点...... 242
13.4 开发过程...... 242
13.4.1 数据表结构...... 242
13.4.2 模型组件的实现...... 243
13.4.3 控制器组件的实现...... 247
13.4.4 配置XML文件...... 250
13.4.5 注册页面的实现...... 250
13.4.6 用户登录...... 251
13.4.7 显示用户登录及注册信息结果的页...... 251
15.4.8 显示用户信息...... 252
13.4.9 安全退出...... 253
13.5 调试、发布与运行...... 253
13.5.1 调试...... 253
13.5.2 发布与运行...... 254
第14章 统计网站流量图...... 255
14.1 实例运行结果...... 256
14.2 设计与分析...... 256
14.2.1 系统分析...... 256
14.2.2 工作流程图...... 256
14.2.3 类的分布...... 256
14.2.4 web文件及文件夹架构...... 257
14.4 技术要点...... 257
14.4.1 Graphics2D对象的属性...... 257
14.4.2 Graphics2D类的基本方法...... 258
14.5 开发过程...... 258
14.5.1 数据表结构...... 258
14.5.2 模型组件的实现...... 259
14.5.3 控制器组件的实现...... 263
14.5.4 配置XML文件...... 263
14.5.5 视图组件的实现...... 264
14.6 调试、发布与运行...... 266
14.6.1 调试...... 266
14.6.2 发布与运行...... 266
第15章 分页数据查询...... 267
15.1 实例运行结果...... 268
15.2 设计与分析...... 268
15.2.1 系统分析...... 268
15.2.2 工作流程图...... 268
15.2.3 类的分布...... 269
15.2.4 web文件及文件夹架构...... 269
15.3 技术要点...... 269
15.3.1 List类...... 269
15.3.2 ArrayList类...... 269
15.3.3 LinkedList类...... 269
15.4 开发过程...... 270
15.4.1 数据表结构...... 270
15.4.2 模型组件的实现...... 270
15.4.3 控制器组件的实现...... 272
15.4.4 配置XML文件...... 273
15.4.5 视图组件的实现...... 273
15.5 调试、发布与运行...... 276
15.5.1 调试...... 276
15.5.2 发布与运行...... 276
第16章 留言簿...... 277
16.1 实例运行结果...... 278
16.2 设计与分析...... 278
16.2.1 设计分析...... 278
16.2.2 工作流程图...... 278
16.2.3 类的分布...... 279
16.2.4 web文件及文件夹架构...... 279
16.3 技术要点...... 280
16.3.1 应用DispatchAction类的必要...... 280
16.3.2 DispatchAction类创建...... 280
16.3.3 DispatchAction类配置...... 280
16.4 开发过程...... 280
16.4.1 数据表结构...... 280
16.4.2 模型组件的实现...... 281
16.4.3 控制器组件的实现...... 285
16.4.4 配置XML文件...... 288
16.4.5 查看留言回复...... 289
16.4.6 发表留言...... 290
16.4.7 回复留言...... 291
16.5 调试、发布与运行...... 291
16.5.1 调试...... 291
16.5.2 发布与运行...... 292
第17章 权限管理...... 293
17.1 实例运行结果...... 294
17.2 设计与分析...... 294
17.2.1 系统分析...... 294
17.2.2 工作流程图...... 294
17.2.3 类的分布...... 295
17.2.4 web文件及文件夹架构...... 295
17.3 技术要点...... 295
17.3.1 PreparedStatement类的基本用法...... 296
17.3.2 PreparedStatement类的流程说明...... 296
17.3.3 PreparedStatement类的方法说明...... 296
17.4 开发过程...... 297
17.4.1 数据表结构...... 297
17.4.2 模型组件的实现...... 298
17.4.3 控制器组件的实现...... 303
17.4.4 配置XML文件...... 306
17.4.5 新用户注册...... 306
17.4.6 权限的管理...... 307
17.4.7 用户管理页面...... 311
17.5 调试、发布与运行...... 311
17.5.1 调试...... 311
17.5.2 发布与运行...... 312
第18章 Struts实现图片的上传与下载...... 313
18.1 实例运行结果...... 314
18.2 设计与分析...... 314
18.2.1 设计分析...... 314
18.2.2 功能流程图...... 314
18.2.3 类的分布...... 314
18.2.4 web文件及文件夹架构...... 315
18.3 技术要点...... 315
18.4 开发过程...... 315
18.4.1 数据表结构...... 315
18.4.2 模型组件的实现...... 316
18.4.3 控制器组件的实现...... 318
18.4.4 视图组件的实现...... 320
18.4.5 配置XML文件...... 322
18.5 发布与运行...... 322
第19章 Validator验证框架...... 323
19.1 实例运行结果...... 324
19.2 设计与分析...... 324
19.2.1 系统分析...... 324
19.2.2 工作流程图...... 324
19.2.3 类的分布...... 325
19.2.4 web文件及文件夹架构...... 325
19.3 技术要点...... 325
19.3.1 validator-rules.xml文件...... 325
19.3.2 valiation.xml文件...... 326
19.4 开发过程...... 327
19.4.1 模型组件UserForm类的实现...... 327
19.4.2 控制器组件CheckUserAction类的实现...... 328
19.4.3 配置ApplicationResources资源文件...... 328
19.4.4 配置XML文件...... 329
19.4.5 视图组件的实现...... 331
19.5 调试、发布与运行...... 333
19.5.1 调试...... 333
19.5.2 发布与运行...... 333
第20章 基于Struts开发的网上企业办公自动化...... 337
20.1 需求分析...... 338
20.1.1 项目规划...... 338
20.1.2 系统功能结构图...... 338
20.2 数据库设计...... 339
20.2.1 数据表概要说明...... 339
20.2.2 数据表的结构...... 339
20.3 前期准备...... 344
20.3.1 配置应用Struts结构文件及数据库连接文件...... 344
20.3.2 配置web.xml文件...... 344
20.3.3 配置Struts标签库文件...... 345
20.4 网站总体设计...... 346
20.4.1 系统架构设计...... 346
20.4.2 类的分布架构设计...... 347
20.4.3 文件架构设计...... 348
20.4.4 网站首页运行效果图...... 348
20.5 公共类的编写...... 350
20.5.1 数据库的连接及操作方法类:DB.... 350
20.5.2 数据表信息类:Content. 352
20.5.3 分页类:Page.. 352
20.5.4 类型转换类:Change.. 354
20.5.5 检查用户权限类:CheckUserAble.. 355
20.5.6 解决Struts中的中文乱码的类:FormToChinese.. 356
20.5.7 检查用户是否已经在线的公共类...... 356
20.6 登录模块...... 358
20.7 自定义标签的开发...... 365
20.7.1 如何开发及使用自定义标签...... 365
20.7.2 本例中office自定义标签的开发过程...... 366
20.8 收/发文管理模块...... 369
20.8.1 建立发文子模块...... 369
20.8.2 浏览发文子模块...... 372
20.8.3 删除发文子模块...... 379
20.9 会议管理模块...... 380
20.9.1 查看会议记录子模块...... 380
20.9.2 添加会议记录子模块...... 383
20.9.3 浏览会议的详细内容...... 384
20.9.4 删除会议子模块...... 386
20.10 公告管理模块...... 387
20.11 人力资源管理模块...... 390
20.11.1 浏览员工信息模块中的查询功能...... 391
20.11.2 个人信息子模块...... 393
20.12 文档管理...... 393
20.12.1 浏览文件详细内容...... 393
20.12.2 删除文件子模块...... 394
20.12.3 文件上传子模块...... 397
20.12.4 文件下载子模块...... 399
20.13 退出模块...... 401
20.14 疑难解答...... 402
第21章 基于Struts与IBatis开发的图书管理系统...... 403
21.1 需求分析...... 404
21.2 系统设计...... 404
21.2.1 项目规划...... 404
21.2.2 系统功能结构图...... 405
21.3 数据库设计...... 405
21.3.1 数据表概要说明...... 405
21.3.2 数据表关系概要说明...... 405
21.3.3 主要数据表的结构...... 406
21.4 网站总体设计...... 409
21.4.1 系统架构设计...... 409
21.4.2 类的分布架构设计...... 409
21.5 公共类的编写...... 410
21.5.1 中文字符转换类...... 410
21.5.2 对系统时间操作类...... 410
21.5.3 取得自动编号操作类...... 411
21.5.4 自动转码类...... 412
21.6 IBatis设计模式的介绍...... 412
21.6.1 IBatis设计模式的组成...... 412
21.6.2 构建IBatis设计模式的SQL Map配置代码...... 413
21.7 配置Struts.. 415
21.8 ActionForm类的编写及配置...... 417
21.8.1 管理员信息ActionForm类的代码...... 417
21.8.2 图书信息操作的ActionForm类...... 418
21.8.3 图书借阅信息操作的ActionForm类...... 418
21.9 对数据表操作持久类的编写...... 419
21.9.1 IBatis设计模式的SQL Map映射文件...... 419
21.9.2 IBatis基本组件...... 420
21.9.3 管理员信息表的操作...... 420
21.9.4 图书信息表的操作...... 426
21.9.5 图书借阅信息表的操作...... 429
21.10 图书管理系统总体架构...... 432
21.10.1 图书管理系统文件架构设计...... 432
21.10.2 图书管理系统首页设计...... 433
21.11 管理员功能模块...... 434
21.11.1 模块功能介绍...... 434
21.11.2 创建管理员的Action实现类...... 434
21.11.3 系统登录设计...... 434
21.11.4 PaginatedList类实现分页显示管理员列表...... 437
21.11.5 添加管理员信息...... 441
21.11.6 设置管理员权限...... 443
21.11.7 删除管理员信息...... 445
21.12 图书管理功能模块...... 446
21.12.1 图书管理功能模块...... 446
21.12.2 创建图书的Action实现类...... 446
21.12.3 查看图书信息列表...... 447
21.12.4 添加图书信息...... 448
21.12.5 修改图书信息...... 451
21.12.6 删除图书信息...... 452
21.13 图书借还管理功能模块...... 453
21.13.1 图书借还功能模块...... 453
21.13.2 创建图书借阅的Action实现类...... 453
21.13.3 图书借阅...... 454
21.13.4 图书归还...... 458
21.14 疑难问题分析与解决...... 459
21.14.1 映射对数据表操作的XML文件的路径错误...... 460
21.14.2 映射属性的错误操作...... 461
第22章 基于Seruts与Hibernate开发的新闻网络中心...... 462
22.1 需求分析...... 462
22.2 系统设计...... 463
22.3 数据库设计...... 464
22.3.1 数据表概要说明...... 464
22.3.2 数据表关系概要说明...... 464
22.3.3 主要数据表的结构...... 464
22.4 网站总体设计...... 465
22.4.1 系统架构设计...... 465
22.4.2 类的分布架构设计...... 466
22.5 公共类的编写...... 467
22.5.1 中文字符转换类...... 467
22.5.2 获取系统时间类...... 467
22.6 Hibernate数据库配置文件...... 468
22.7 ActionForm类的编写及配置...... 469
22.7.1 公告信息属性配置...... 470
22.7.2 后台管理员信息属性配置...... 471
22.7.3 新闻类别属性配置...... 472
22.7.4 新闻信息属性配置...... 472
22.8 对数据表操作持久类的编写...... 473
22.8.1 公告信息表操作的类...... 473
22.8.2 后台管理员表的类...... 477
22.8.3 新闻类别表操作的类...... 480
22.8.4 新闻表操作的类...... 482
22.9 网站后台主要功能设计...... 484
22.9.1 网站后台文件架构设计...... 484
22.9.2 网站后台首页设计...... 485
22.9.3 对新闻类别操作的设计...... 485
22.9.4 对新闻设计操作的设计...... 493
22.9.5 对公告信息设计...... 500
22.9.6 对后台管理员设计...... 502
22.10 网站前台主要功能设计...... 505
22.10.1 网站后台文件架构设计...... 505
22.10.2 前台首页设计...... 505
22.10.3 新闻展示设计...... 507
22.10.4 公告信息展示设计...... 510
22.10.5 辅助功能设计...... 512






