第1篇 JSP基础 2
第1章 走进JSP 2
1.1 JSP概述 3
1.1.1什么是JSP 3
1.1.2项目成功案例 3
1.1.3如何学好JSP 4
1.2 JSP技术特征 5
1.2.1跨平台 5
1.2.2业务代码分离 5
1.2.3组件重用 5
1.2.4继承Java Servlet功能 5
1.2.5预编译 6
1.3搭建JSP开发环境 6
1.3.1安装Java开发工具包JDK 6
1.3.2安装和配置Web服务器 7
1.3.3安装与使用数据库 9
1.4 Eclipse开发工具的安装与使用 12
1.4.1 Eclipse的下载与安装 13
1.4.2启动Eclipse 13
1.4.3安装Eclipse中文语言包 13
1.4.4 Eclipse工作台 14
1.4.5配置服务器 14
1.4.6指定Web浏览器 15
1.4.7设置JSP页面的编码格式 16
1.5开发第一个JSP程序 16
1.5.1编写JSP程序 16
1.5.2运行JSP程序 17
1.6 JSP常用资源 18
1.6.1 JSP资源 18
1.6.2 Eclipse资源 18
1.7实战 19
1.7.1修改Tomcat服务器的端口号 19
1.7.2通过复制Web应用到Tomcat部署Web应用 19
1.7.3通过在server.xml文件中配置〈Context〉元素部署Web应用 19
1.7.4设置Eclipse工作空间的字符编码 19
1.7.5为项目导入所需的Jar包 20
1.8本章小结 20
第2章 掌握JSP语法 21
2.1了解JSP的基本构成 22
2.2指令标签 22
2.2.1 page指令 22
2.2.2 include指令 24
2.2.3 taglib指令 25
2.3嵌入Java代码 26
2.3.1代码片段 26
2.3.2声明 27
2.3.3 JSP表达式 27
2.4注释 27
2.4.1 HTML注释 27
2.4.2 JSP注释 28
2.4.3动态注释 28
2.4.4代码注释 28
2.5 JSP动作标签 28
2.5.1 〈jsp:include〉 29
2.5.2 〈jsp:forward〉 30
2.5.3 〈jsp:param〉 31
2.5.4操作JavaBean的动作标签 31
2.6实战 31
2.6.1连接数据库并将数据显示在页面表格中 31
2.6.2根据数据表动态生成下拉列表 32
2.6.3将3个页面组成一个新的页面 33
2.6.4导入页面头部和版权信息页 34
2.6.5在JSP页面中输出星号组成的金字塔 35
2.7本章小结 36
2.8学习成果检验 36
第3章 JSP内置对象 37
3.1 JSP内置对象的概述 38
3.2 request对象 38
3.2.1获取请求参数值 38
3.2.2解决中文乱码 38
3.2.3获取Form表单的信息 39
3.2.4获取请求客户端信息 41
3.2.5在作用域中管理属性 42
3.2.6 cookie管理 42
3.2.7获取浏览器使用的语言 44
3.3 response对象 44
3.3.1重定向网页 44
3.3.2处理HTTP文件头 44
3.3.3设置输出缓冲 45
3.4 session对象 45
3.4.1创建及获取session信息 46
3.4.2从会话中移除指定的绑定对象 46
3.4.3销毁session 47
3.4.4会话超时的管理 47
3.4.5 session对象的应用 47
3.5 application对象 49
3.5.1访问应用程序初始化参数 49
3.5.2管理应用程序环境属性 50
3.6 out对象 50
3.6.1管理响应缓冲 51
3.6.2向客户端输出数据 51
3.7其他内置对象 51
3.7.1获取会话范围的pageContext对象 51
3.7.2读取web.xml配置信息的config对象 52
3.7.3应答或请求的page对象 52
3.7.4获取异常信息的exception对象 52
3.8实战 53
3.8.1 application对象实现网页计数器 53
3.8.2在提交表单时加入验证码 54
3.8.3实现自动登录 56
3.8.4定时刷新页面 57
3.8.5统计用户在某页停留时间 58
3.9本章小结 59
3.10学习成果检验 59
第4章 ServIet技术 60
4.1 Servlet基础 61
4.1.1 Servlet与Servlet容器 61
4.1.2 Servlet技术特点 61
4.1.3 Servlet技术功能 62
4.1.4 Servlet与JSp的区别 62
4.1.5 Servlet代码结构 62
4.1.6简单的Servlet程序 63
4.2 Servlet开发 64
4.2.1 Servlet的创建 64
4.2.2 Servlet配置的相关元素 65
4.3 Servlet API编程常用的接口和类 67
4.3.1 Servlet接口 67
4.3.2 ServletConfig接口 67
4.3.3 HttpServletRequest接口 67
4.3.4 HttpServletResponse接口 68
4.3.5 GenericServlet类 69
4.3.6 HttpServlet类 69
4.4 Servlet过滤器 70
4.4.1过滤器概述 70
4.4.2 Filter APL 70
4.4.3过滤器的配置 71
4.4.4过滤器典型应用 72
4.5实战 74
4.5.1 JSP与Servlet实现用户注册 74
4.5.2过滤非法文字 77
4.5.3统计网站的访问量 80
4.5.4利用Servlet实现个人所得税计算器 81
4.5.5生成网站表单的验证码 82
4.6本章小结 84
4.7学习成果检验 84
第5章 综合实验(一)——JSP使用Model2实现登录模块 85
5.1 JavaBean 86
5.1.1 JavaBean简介 86
5.1.2 〈jsp:useBean〉 86
5.1.3 〈jsp:setProperty〉 87
5.1.4 〈jsp:getProperty〉 89
5.1.5 JavaBean的作用域 90
5.2 Modell模式 92
5.3 Mode12模式 94
5.3.1 MVC原理 94
5.3.2 JSP+Servlet+JavaBean 95
5.4两种模式的比较 96
5.5登录模块的实现 97
5.5.1模块介绍 97
5.5.2关键技术 97
5.5.3数据库设计 98
5.5.4 JavaBean设计 98
5.5.5实现过程 102
5.6运行项目 107
5.7本章小结 108
5.8学习成果检验 108
第2篇 高级技术 110
第6章 EL表达式语言 110
6.1 EL概述 111
6.1.1使用EL表达式的前提条件 111
6.1.2 EL表达式的基本语法 112
6.1.3 EL表达式的特点 112
6.2 EL表达式的存取范围 112
6.3 EL表达式的运算符 113
6.3.1存取数据运算符“[]”和“.” 113
6.3.2算术运算符 114
6.3.3关系运算符 114
6.3.4逻辑运算符 115
6.3.5 empty运算符 116
6.3.6条件运算符 116
6.3.7运算符的优先级 116
6.4 EL表达式中的保留字 117
6.5 EL表达式中的隐含对象 117
6.5.1 PageContext对象的应用 117
6.5.2 param和paramValues对象的应用 117
6.5.3 header和headerValues对象的应用 118
6.5.4访问作用域范围的隐含对象 118
6.5.5 cookie对象的应用 119
6.5.6 initParam对象的应用 119
6.6实战 119
6.6.1应用EL表达式访问JavaBean的属性 119
6.6.2应用EL表达式显示投票结果 121
6.6.3判断用户名是否为空,空则显示相应的提示信息 123
6.6.4显示客户端使用的浏览器 123
6.6.5判断用户是否登录,并显示不同提示信息 123
6.7本章小结 124
6.8学习成果检验 124
第7章 JSTL核心标签库 125
7.1 JSTL简介 126
7.1.1下载和配置JSTL 126
7.1.2 JSTL标签库简介 128
7.2表达式标签 128
7.2.1 〈c:out〉输出标签 128
7.2.2 〈c:set〉设置标签 129
7.2.3 〈c:remove〉移除标签 131
7.2.4 〈c:catch〉捕获异常标签 131
7.3条件标签 132
7.3.1 〈c:if〉标签 132
7.3.2 〈c:choose〉、 〈c:when〉和〈c:otherwise〉标签 133
7.4循环标签 135
7.4.1 〈c:forEach〉标签 135
7.4.2 〈c:forTokens〉标签 137
7.5 URL操作标签 138
7.5.1 〈c:import〉文件导入标签 138
7.5.2 〈c:redirect〉重定向标签 140
7.5.3 〈c:url〉生成URL地址标签 140
7.5.4 〈c:param〉参数传递标签 141
7.6实战 141
7.6.1应用JSTL显示数据库中的商品信息 141
7.6.2 JSTL在电子商城网站中的应用 146
7.6.3 JSTL导入网站注册协议 148
7.6.4 JSTL标签实现网站计数器 149
7.6.5应用〈c:if〉标签判断用户最喜爱的水果 149
7.7本章小结 150
7.8学习成果检验 150
第8章 综合实验(二)——结合JSTL与EL技术开发通讯录模块 151
8.1模块概述 152
8.1.1功能描述 152
8.1.2系统流程 152
8.1.3主页预览 153
8.2关键技术 153
8.3数据库设计 153
8.4实现过程 154
8.4.1搭建开发环境 154
8.4.2编写数据库连接及操作的公共类 154
8.4.3实现用户注册 157
8.4.4实现用户登录 160
8.4.5实现通讯录模块主页 162
8.4.6实现添加联系人 165
8.4.7实现修改联系人 168
8.4.8实现删除联系人 170
8.5运行项目 170
8.6本章小结 171
第9章 JSP操作XML 172
9.1 XML简介 173
9.1.1 XML文档结构 173
9.1.2 XML语法要求 174
9.1.3为XML文档中的元素定义属性 174
9.1.4 XML的注释 175
9.1.5处理字符数据 175
9.2 dom4j概述 177
9.2.1 dom4j简介 177
9.2.2 dom4j的下载与配置 177
9.3创建XML文档 178
9.3.1创建XML文档对象 178
9.3.2创建根节点 178
9.3.3添加注释 179
9.3.4添加属性 179
9.3.5创建子节点 179
9.3.6设置节点的内容 179
9.3.7设置编码 180
9.3.8设置输出格式 180
9.3.9输出XML文档 181
9.4解析XML文档 182
9.4.1构建XML文档对象 182
9.4.2获取根节点 182
9.4.3获取子节点 182
9.5修改XML文档 183
9.5.1修改节点 183
9.5.2删除节点 184
9.6实战 185
9.6.1保存公告信息到XML文件 185
9.6.2对保存到XML文件中的公告信息进行管理 187
9.6.3创建以当前日期为名称的XML文件 193
9.6.4让XML文件动态显示数据 195
9.6.5在控制台上显示XML文档内容 196
9.7本章小结 197
9.8学习成果检验 197
第10章 JavaScript脚本语言 198
10.1了解JavaScript 199
10.1.1什么是JavaScript 199
10.1.2 JavaScript的主要特点 199
10.1.3 JavaScript与Java的区别 199
10.2在Web页面中使用JavaScript 200
10.2.1在页面中直接嵌入JavaScript 200
10.2.2链接外部JavaScript 200
10.3 JavaScript语言基础 201
10.3.1 JavaScript的语法 201
10.3.2 JavaScript中的关键字 202
10.3.3了解JavaScript的数据类型 203
10.3.4变量的定义及使用 204
10.3.5运算符的应用 205
10.4流程控制语句 208
10.4.1 if条件判断语句 208
10.4.2 switch多路分支语句 210
10.4.3 for循环语句 212
10.4.4 while循环语句 213
10.4.5 do …while循环语句 214
10.4.6 break语句 215
10.4.7 continue语句 215
10.5使用正则表达式 216
10.5.1正则表达式的语法 216
10.5.2创建正则表达式(RegExp)对象 218
10.5.3使用RegExp对象执行模式匹配 219
10.6函数 221
10.6.1函数的定义 221
10.6.2函数的调用 222
10.6.3匿名函数 223
10.7事件和事件处理程序 223
10.7.1什么是事件和事件处理程序 223
10.7.2 JavaScript的常用事件 223
10.7.3事件处理程序的调用 224
10.8常用对象 225
10.8.1 String对象 225
10.8.2 Math对象 229
10.8.3 Date对象 230
10.8.4 Window对象 233
10.9 DOM技术 236
10.9.1 DOM概述 236
10.9.2 DOM的分层结构 236
10.9.3遍历文档 237
10.9.4获取文档中的指定元素 239
10.9.5操作文档 239
10.9.6与DHTML相对的DOM 241
10.10实战 242
10.10.1检测表单元素是否为空 242
10.10.2屏蔽鼠标右键和键盘相关事件 243
10.10.3验证E-mail地址是否合法 244
10.10.4验证手机号码是否正确 244
10.10.5计算两个日期相差的天数 245
10.11本章小结 246
10.12学习成果检验 246
第11章 综合实验(三)——Ajax实现用户注册模块 247
11.1 Ajax简介 248
11.1.1什么是Ajax 248
11.1.2 Ajax的开发模式 248
11.1.3 Ajax的优点 248
11.2 Ajax使用的技术 249
11.2.1 XMLHttpRequest 249
11.2.2 JavaScript脚本语言 251
11.2.3 DOM 251
11.2.4 XML语言 252
11.2.5 CSS 252
11.3传统Ajax工作流程 252
11.3.1发送请求 252
11.3.2处理服务器响应 253
11.3.3一个完整的实例 255
11.4 jQuery实现Ajax 256
11.4.1 jQuery简介 256
11.4.2发送GET和POST请求 258
11.4.3服务器返回的数据格式 261
11.4.4使用﹩.ajax()方法 264
11.5Ajax开发需要注意的几个问题 266
11.5.1浏览器兼容性问题 266
11.5.2安全问题 266
11.5.3性能问题 267
11.5.4中文编码问题 267
11.6开发用户注册模块 268
11.6.1模块概述 268
11.6.2系统流程 268
11.6.3关键技术 269
11.6.4数据库设计 270
11.6.5实现过程 270
11.7本章小结 280
11.8学习成果检验 280
第3篇 框架技术 282
第12章 Struts 2框架 282
12.1 MVC设计模式 283
12.2 Struts 2框架概述 283
12.2.1 Struts 2框架的产生 283
12.2.2 Struts 2的结构体系 284
12.3 Struts 2入门 284
12.3.1获取与配置Struts 2 284
12.3.2创建第一个Struts 2程序 285
12.4 Action对象 287
12.4.1认识Action对象 287
12.4.2请求参数的注入原理 288
12.4.3 Action的基本流程 288
12.4.4动态Action 289
12.4.5应用动态Action 289
12.5 Struts 2的配置文件 291
12.5.1 Struts 2的配置文件类型 291
12.5.2配置Struts 2包 291
12.5.3配置名称空间 292
12.5.4 Action的相关配置 292
12.5.5使用通配符简化配置 294
12.5.6配置返回结果 294
12.6 Struts 2的标签库 295
12.6.1数据标签 295
12.6.2控制标签 297
12.6.3表单标签 298
12.7 Struts 2的开发模式 300
12.7.1实现与Servlet API的交互 300
12.7.2域模型DomainModel 300
12.7.3驱动模型ModelDriven 301
12.8 Struts 2的拦截器 302
12.8.1拦截器概述 302
12.8.2拦截器API 303
12.8.3使用拦截器 304
12.9数据验证机制 305
12.9.1手动验证 305
12.9.2验证文件的命名规则 306
12.9.3验证文件的编写风格 306
12.10实战 307
12.10.1实现用户登录 307
12.10.2实现简单的计算器 308
12.10.3 Struts 2标签实现的用户注册 309
12.10.4 XML中配置数据验证器验证表单元素 310
12.10.5级联下拉列表框 311
12.11本章小结 312
12.12学习成果检验 312
第13章 Hibernate框架 313
13.1 Hibernate简介 314
13.1.1理解ORM原理 314
13.1.2 Hibernate的结构体系 314
13.1.3 Hibernate实例状态 315
13.1.4 Hibernate的适用性 316
13.2 Hibernate入门 316
13.2.1 Hibernate包的下载与放置 316
13.2.2 Hibernate配置文件 317
13.2.3编写持久化类 318
13.2.4编写映射文件 319
13.2.5编写Hibernate的初始化类 321
13.3自动建表技术 323
13.4 Hibernate持久化对象 324
13.4.1添加数据 325
13.4.2查询数据 325
13.4.3删除数据 327
13.4.4修改数据 328
13.5 Hibernate缓存及延迟加载 330
13.5.1一级缓存 330
13.5.2二级缓存 331
13.5.3 Lazy策略 333
13.6实战 334
13.6.1用户注册 334
13.6.2修改数据 337
13.6.3将实体对象保存到数据库 340
13.6.4更新实体对象 342
13.6.5批量删除数据 344
13.7本章小结 345
13.8学习成果检验 345
第14章 Hibernate高级应用 346
14.1关联关系映射 347
14.1.1单向关联与双向关联 347
14.1.2多对一单向关联映射 347
14.1.3多对一双向关联映射 349
14.1.4一对一主键关联映射 351
14.1.5一对一外键关联映射 352
14.1.6多对多关联映射 353
14.1.7级联操作在关联中的使用 354
14.2 HQL检索方式 356
14.2.1 HQL的基本语法 356
14.2.2实体对象与动态实例化对象查询 356
14.2.3条件查询与别名的使用 357
14.2.4 HQL语句的动态赋值 357
14.2.5对象导航查询 358
14.2.6排序查询 358
14.2.7聚合函数 359
14.2.8分组操作 359
14.2.9对日期时间的处理 359
14.2.10联合查询 360
14.2.11子查询 361
14.3实战 362
14.3.1多对一数据的添加与查询 362
14.3.2模糊查询药品信息 365
14.3.3内连接查询图书信息 368
14.3.4利用多态查询判断用户登录身份 370
14.3.5 HQL排序查询订单信息 372
14.4本章小结 373
14.5学习成果检验 373
第15章 综合实验(四)——JSP+Hibernate实现留言模块 374
15.1实例说明 375
15.1.1实现功能 375
15.1.2系统流程 375
15.1.3逻辑分层结构 376
15.2技术要点 376
15.2.1确定实体及关系 376
15.2.2 ThreadLocal的使用 376
15.3实现过程 377
15.3.1搭建开发环境 377
15.3.2实体类与映射 379
15.3.3注册模块 382
15.3.4用户登录 385
15.3.5实现留言 387
15.3.6分页查看留言信息 390
15.3.7管理员相关操作 395
15.4运行项目 399
15.5本章小结 399
第16章 Spring框架 400
16.1 Spring概述 401
16.1.1 Spring组成 401
16.1.2下载Spring 402
16.1.3配置Spring 402
16.1.4使用BeanFactory管理Bean 403
16.1.5应用ApllicationContext 403
16.2 Spring IoC 404
16.2.1控制反转与依赖注入 404
16.2.2配置Bean 405
16.2.3 Setter注入 406
16.2.4构造器注入 406
16.2.5引用其他Bean 408
16.2.6创建匿名内部JavaBean 409
16.3 AOP概述 409
16.3.1 AOP术语 410
16.3.2 AOP的简单实现 411
16.4 Spring的切入点 412
16.4.1静态与动态切入点 412
16.4.2深入静态切入点 413
16.4.3深入切入点底层 413
16.4.4 Spring中的其他切入点 414
16.5 Aspect对AOP的支持 414
16.5.1 Aspect概述 414
16.5.2 Spring中的Aspect 415
16.5.3 DefaultPointcutAdvisor切入点配置器 415
16.5.4 NameMatchMethodPointcutAdvisor切入点配置器 416
16.6 Spring持久化 416
16.6.1 DAO模式 416
16.6.2 Spring的DAO理念 417
16.6.3事务管理 419
16.6.4应用JdbcTemplate操作数据库 422
16.6.5与Hibernate整合 423
16.6.6整合Spring与Hibernate在tb user表中添加信息 424
16.7实战 425
16.7.1使用Spring对员工表进行增、删、改、查操作 425
16.7.2使用Spring整合Hibernate操作商品库存表 432
16.7.3利用DAO模式向商品信息表中添加数据 438
16.7.4 Spring AOP实现用户注册 439
16.7.5利用JdbcTemplate向员工信息表中添加数据 441
16.8本章小结 443
16.9学习成果检验 443
第17章 Spring MVC框架 444
17.1 Spring MVC简介 445
17.1.1 Spring MVC的特点 445
17.1.2 Spring MVC的不足 445
17.2 Spring MVC中的组件 445
17.2.1核心控制器 445
17.2.2业务控制器 446
17.2.3控制器映射 446
17.2.4模型与视图 446
17.2.5视图解析器 446
17.2.6 Command对象 446
17.3 Spring MVC核心控制器 446
17.4 Spring MVC控制器映射 447
17.4.1配置BeanNameUrlHandlerMapping 447
17.4.2配置SimpleUrlHandlerMapping 448
17.4.3多个控制器映射 448
17.5 Spring MVC业务控制器 448
17.5.1简单控制器 448
17.5.2参数映射控制器 450
17.5.3文件名映射控制器 451
17.5.4表单控制器 451
17.5.5 Spring编码过滤器解决中文乱码 454
17.5.6多动作控制器 454
17.6视图解析器 456
17.6.1视图解析器介绍 456
17.6.2配置InternalResourceViewResolver 457
17.7常见的其他第三方MVC框架 457
17.7.1 Struts 458
17.7.2 JSF 458
17.7.3 Struts 2 458
17.8实战 458
17.8.1应用参数映射控制器映射JSP页面 458
17.8.2利用向导控制器实现分步用户注册 459
17.8.3利用表单控制器实现验证处理 462
17.8.4利用多动作控制器实现数据查询和删除操作 463
17.8.5使用Spring MVC编写在线通讯录 465
17.9本章小结 470
17.10学习成果检验 470
第18章 综合实验(五)——Spring+Hibernate 实现用户管理模块 471
18.1系统功能模块设计 472
18.2数据库设计 472
18.3技术要点 472
18.4文件夹结构设计 473
18.5实体映射 473
18.5.1部门信息 473
18.5.2用户信息 474
18.6设计操作数据库的接口与类 475
18.6.1部门信息DAO接口IDeptInfoDao 475
18.6.2部门信息DAO实现类DeptInfoDao 475
18.6.3用户信息DAO接口IUserInfoDao 476
18.6.4用户信息DAO实现类IUserInfoDao 476
18.7登录子模块 478
18.7.1登录子模块控制器 478
18.7.2登录子模块JSP页面 479
18.8部门管理子模块 481
18.8.1部门管理子模块控制器 482
18.8.2部门管理子模块JSP页面 483
18.9用户管理子模块 484
18.9.1用户管理子模块文件上传类 485
18.9.2用户管理子模块控制器类 486
18.9.3用户管理子模块JSP页面 488
18.10配置文件 491
18.10.1在src文件内编写log4j.properties 491
18.10.2创建Spring配置文件applicationContext.xml 491
18.10.3配置web.xml 494
18.11运行项目 494
18.12本章小结 494
第4篇 实用技术 496
第19章 数据分页 496
19.1 SQL Server数据库分页 497
19.1.1获取前n条记录 497
19.1.2获取分页数据 497
19.2 MySQL数据库分页 498
19.2.1 LIMIT函数 498
19.2.2获取分页数据 498
19.2.3获取总页数 499
19.3 Hibernate分页 499
19.3.1 HQL分页 499
19.3.2 QBC分页 500
19.4分页商品信息查询模块 500
19.4.1模块介绍 500
19.4.2系统流程 500
19.4.3关键技术 501
19.4.4数据库设计 501
19.4.5实现过程 502
19.5实战 508
19.5.1对SQL Server 2008数据库进行分页 508
19.5.2转到指定页的分页 509
19.5.3具有页码跳转功能的分页 510
19.5.4分栏显示 512
19.5.5应用Hibernate分页 513
19.6本章小结 516
19.7学习成果检验 516
第20章 文件上传与下载 517
20.1使用Servlet 3.0的新特性实现文件上传 518
20.2使用Commons-FileUpload组件实现文件上传 519
20.2.1添加表单及表单元素 519
20.2.2创建上传对象 519
20.2.3解析上传请求 520
20.3 Spring文件上传 522
20.3.1配置文件上传解析器 522
20.3.2编写文件上传表单页面 523
20.3.3编写文件上传控制器 523
20.4实现文件下载 524
20.4.1文件类 524
20.4.2文件字节输入流 525
20.4.3字节输出流 525
20.5 MP3乐园 527
20.5.1模块介绍 527
20.5.2系统流程 527
20.5.3关键技术 528
20.5.4数据库设计 528
20.5.5公共类编写 528
20.5.6实现系统登录 530
20.5.7实现用户注册 531
20.5.8实现文件上传 532
20.5.9文件下载 535
20.6本章小结 536
20.7学习成果检验 536
第21章 PDF与Excel组件 537
21.1 PDF概述 538
21.1.1 PDF的优点 538
21.1.2 PDF阅读工具 538
21.2 PDF组件简介 538
21.2.1 iText组件简介 538
21.2.2 iText组件的获取 538
21.2.3 iText组件关键类简介 539
21.3应用iText组件生成PDF文档 539
21.3.1创建Document对象的实例 540
21.3.2获取PdfWrite实例 540
21.3.3为PDF文档添加内容 540
21.3.4字体与中文字符的显示 541
21.3.5创建表格 541
21.3.6插入图像 542
21.4应用PDFBox组件解析PDF文档 543
21.4.1 PDFBox组件简介 543
21.4.2 PDFBox组件的获取 543
21.4.3应用PDFBox组件解析PDF文档 544
21.5 Excel组件简介 545
21.5.1常用Excel组件 545
21.5.2 POI组件简介 545
21.5.3 POI组件的获取 545
21.5.4 POI组件关键类简介 546
21.6应用POI组件读写Excel文档 546
21.6.1创建一个Excel文档 546
21.6.2设置字体样式 547
21.6.3合并单元格 548
21.6.4读取Excel文档内容 549
21.7实战 550
21.7.1将数据库中的内容导出为PDF文档 550
21.7.2将数据库中的内容导出为Excel文档 553
21.7.3设置Excel文档中的字体样式 554
21.7.4读取Excel文件的数据到数据库 555
21.7.5设置Excel文件的打印属性 556
21.8本章小结 557
21.9学习成果检验 557
第22章 动态图表 558
22.1 JFreeChart简介 559
22.1.1认识JFreeChart组件 559
22.1.2 JFreeChart的下载与使用 559
22.2 JFreeChart的核心对象 560
22.2.1制图对象 560
22.2.2制图工厂对象 560
22.2.3数据集合对象 561
22.2.4绘图区对象 562
22.2.5坐标轴对象 563
22.2.6图片渲染对象 565
22.3 JFreeChart的应用 565
22.3.1如何获取图片 565
22.3.2创建数据集合与JFreeChart实例 566
22.3.3图表相关属性的设置 568
22.3.4 JFreeChart内置JDBC的使用 569
22.3.5中文乱码的解决方案 571
22.4实战 572
22.4.1 JFreeChart绘制折线图 572
22.4.2 JFreeChart绘制区域图 575
22.4.3 JFreeChart绘制时序图 577
22.4.4利用柱状图显示某网站的访问量 579
22.4.5利用饼图显示不同编程语言的市场占有率 580
22.5本章小结 581
22.6学习成果检验 581
第23章 综合实验(六)——在线投票统计模块 582
23.1系统功能模块设计 583
23.1.1功能描述 583
23.1.2系统流程 583
23.2数据库设计 583
23.3关键技术 584
23.3.1双击鼠标展开图片技术 584
23.3.2判断IP所属地区技术 585
23.4公共模块设计 586
23.4.1数据库操作类的设计与实现 586
23.4.2投票过滤器类的设计与实现 589
23.5实现投票功能 590
23.6实现柱形图统计功能 591
23.7实现饼形图统计功能 594
23.8运行项目 596
23.9本章小结 596
第5篇 项目实战 598
第24章 基于SSH2的电子商城网站 598
24.1需求分析 599
24.2系统设计 599
24.2.1系统目标 599
24.2.2系统功能结构 599
24.2.3系统流程图 600
24.3项目开发及运行环境 600
24.3.1服务器最低配置 600
24.3.2客户端最低配置 600
24.4系统文件夹组织结构 601
24.5数据库与数据表设计 601
24.5.1 E-R图设计 601
24.5.2创建数据库及数据表 602
24.6搭建项目环境 604
24.6.1配置Struts 2 604
24.6.2配置Hibernate 606
24.6.3配置Spring 607
24.6.4配置web.xml 608
24.7公共类设计 609
24.7.1泛型工具类 609
24.7.2数据持久化类 610
24.7.3分页设计 612
24.7.4字符串工具类 615
24.8登录与注册模块设计 616
24.8.1注册 616
24.8.2登录 618
24.9前台商品信息查询模块设计 620
24.9.1商品类别分级查询 620
24.9.2商品搜索 621
24.9.3前台查询其他商品 622
24.10购物车模块设计 624
24.10.1购物车的基本功能 624
24.10.2订单的相关功能 627
24.11后台商品管理模块设计 629
24.11.1商品管理功能 629
24.11.2实现商品类别管理功能 632
24.12后台订单管理模块设计 635
24.12.1实现后台订单查询 635
24.12.2实现后台订单状态管理 637
24.13运行项目 639
24.14本章小结 639
第25章 基于SSH2的明日论坛 640
25.1开发背景 641
25.2系统设计 641
25.2.1系统目标 641
25.2.2系统功能结构 641
25.2.3系统流程图 641
25.3项目开发及运行环境 642
25.3.1服务器最低配置 642
25.3.2客户端最低配置 642
25.4系统文件夹组织结构 642
25.5数据库与数据表设计 643
25.5.1 E-R图设计 643
25.5.2数据库表设计 644
25.6公共类设计 645
25.6.1 Spring+Hibemate组合实现持久层 645
25.6.2使用Struts 2标签分页 647
25.7主页面设计 648
25.7.1文章搜索首页设计 649
25.7.2论坛页设计 650
25.8文章维护模块设计 651
25.8.1添加文章模块 651
25.8.2浏览文章 653
25.8.3文章回复 654
25.8.4修改文章 655
25.8.5删除文章 655
25.9文章搜索模块设计 656
25.9.1搜索我的文章 656
25.9.2根据关键字搜索文章 657
25.9.3热门搜索 659
25.9.4搜索文章作者的所有文章 659
25.9.5搜索回复作者的所有文章 661
25.10运行项目 661
25.11本章小结 661