第1篇JSTL基本语法篇 2
第1章JSTL安装 2
1.1安装Tomcat 2
1.1.1下载Tomcat安装程序 2
1.1.2Tomcat的安装步骤 3
1.2安装MySQL 4
1.2.1下载MySQL安装程序 5
1.2.2MySQL的安装步骤 5
1.3安装JSTL 8
1.3.1下载JSTL安装包 8
1.3.2JSTL的安装步骤 8
1.3.3第一个JSTL程序 10
1.4JSTL与JSP 11
1.5本章小结 14
1.6练习题 15
第2章JSTL表达式 16
2.1运算符 16
2.1.1算术运算符 16
2.1.2关系运算符 18
2.1.3逻辑运算符 22
2.1.4验证运算符 24
2.1.5条件运算符 25
2.1.6括号运算符以及运算符的优先级 26
2.2变量标记 28
2.2.1定义变量 28
2.2.2输出变量 31
2.2.3删除变量 33
2.3表达式 36
2.3.1与[]运算符 37
2.3.2与存储有关的隐含对象 37
2.3.3与输入有关的隐含对象 39
2.3.4其他隐含对象 40
2.4存取器 43
2.4.1使用存取器读取JavaBean中的数据 43
2.4.2使用存取器读取Map中的数据 45
2.4.3使用存取器读取数组中的数据 46
2.4.4存取器复杂应用 48
2.5技能实践 50
任务一:简单计算器 50
任务二:动态设定变量值 56
2.6本章小结 57
2.7练习题 57
第3章JSTL控制流 58
3.1流程控制 58
3.1.1<c:i>标签的使用 58
3.1.2没有本体内容的<c:if>标签 59
3.1.3有本体内容的<c:i>标签 60
3.1.4<c:choose>、<c:when>、<c:otherwise>标签的使用 61
3.1.5流程控制实例 63
3.2循环操作 65
3.2.1<c:forEach>标签的使用 65
3.2.2<c:forEach>标签取得数组中的值 68
3.2.3<c:forEach>标签取得简单集合的值 70
3.2.4<c:forEach>标签取得复杂集合的值 72
3.2.5<c:forEach>标签取得复杂Map的值 76
3.2.6<c:forTokens>标签基本使用 77
3.2.7<c:forTokens>标签指定多个分隔符 78
3.3技能实践 79
任务一:求1-100之间的奇数和 79
任务二:循环生成表格 80
任务三:循环生成行列颜色相间的表格 81
任务四:生成九九乘法表 83
3.4本章小结 85
3.5练习题 85
第2篇JSTL标签库篇 88
第4章JSTL标准库URL操作相关标签 88
4.1<c:import>标签 88
4.1.1<c:import>标签的语法格式 88
4.1.2<c:import>标签导入TXT文件 89
4.1.3<c:import>标签导入HTML文件 91
4.1.4<c:import>标签导入JSP文件 92
4.1.5<c:import>标签导入其他站点网页 93
4.1.6<c:import>标签导入不在同一目录下的文件 94
4.1.7<c:import>标签导入不在同一Webapplication下的文件 94
4.1.8<c:import>标签var属性和scope属性介绍 96
4.1.9<c:import>标签使用<c:param>传递参数 97
4.2<c:url>标签 99
4.2.1<c:url>标签的语法格式 100
4.2.2<c:url>生成URL 100
4.2.3<c:url>生成带参数的URL 101
4.2.4<c:url>标签var属性和scope属性介绍 102
4.2.5使用<c:url>标签设定图片文件地址 103
4.3<c:redirect>标签 104
4.3.1<c:redirect>标签的语法格式 104
4.3.2<c:redirect>传递参数 106
4.4技能实践 107
任务一:在页面中添加百度搜索功能 107
任务二:多重导入文件 109
4.5本章小结 110
4.6练习题 111
第5章JSTL数据库标签库 112
5.1数据库连接 112
5.1.1定义数据源标签 112
5.1.2连接数据库 113
5.1.3var属性和scope属性 114
5.2数据操作 116
5.2.1创建数据表 116
5.2.2添加数据 117
5.2.3更新数据 118
5.2.4删除数据 119
5.2.5查询数据 120
5.2.6取出指定数据 125
5.2.7按ID查询数据 127
5.2.8模糊查询 128
5.2.9<sql:param>和<sql:dateParam>标签 130
5.2.10<sql:transaction>标签 134
5.3技能实践 137
任务一:注册模块的编写 137
任务二:用户登录模块 141
任务三:用户登录次数与时间的统计 144
任务四:注册用户的管理 147
5.4本章小结 153
5.5练习题 153
第6章JSTL格式标签库 155
6.1使用格式化标签库 155
6.1.1<fmt:formatNumber> 156
6.1.2<fmt:parseNumber> 159
6.1.3<fmt:formatDate> 160
6.1.4<fmt:parseDate> 166
6.1.5<fmt:setTimeZone> 168
6.1.6<fmt:timeZone> 169
6.2国际化 170
6.2.1<fmt:setLocale> 170
6.2.2<fmt:requestEncoding> 172
6.2.3资源文件 173
6.2.4<fmt:setBundle> 174
6.2.5<fmt:message> 175
6.2.6<fmt:param> 177
6.2.7<fmt:bundle> 179
6.3技能实践 181
任务一:制作多种语言的网页 181
任务二:根据用户的表单输入构造时间 186
6.4本章小结 187
6.5练习题 187
第7章JSTL的XML标签库 189
7.1XML介绍 189
7.1.1XML文档结构 189
7.1.2XML路径语言XPath 190
7.2XML标签库 192
7.2.1下载并安装进行XML操作必需的JAR文件 192
7.2.2XML标签库分类 194
7.2.3<x:parse>标签 194
7.2.4<x:out>标签 197
7.2.5<x:set>标签 199
7.3XML流程控制操作 202
7.3.1<x:if> 202
7.3.2<x:choose> 207
7.3.3<x:forEach> 209
7.4XML转换操作 212
7.4.1<x:transform> 212
7.4.2<x:param> 216
7.5技能实践 219
任务一:XML保存网站联系信息 219
任务二:XML保存一条新闻 220
任务三:XML实现网站的广告功能 222
7.6本章小结 223
7.7练习题 223
第8章JSTL函数标签库 226
8.1使用函数标签库 226
8.1.1<fn:contains> 226
8.1.2<fn:containsIgnoreCase> 227
8.1.3<fn:startsWith> 228
8.1.4<fn:endsWith> 229
8.1.5<fn:escapeXml> 231
8.1.6<fn:indexOf> 232
8.1.7<fn:split> 233
8.1.8<fn:join> 234
8.1.9<fn:replace> 235
8.1.10<fn:trim> 236
8.1.11<fn:substring> 237
8.1.12<fn:substringAfter> 239
8.1.13<fn:substringBefore> 240
8.1.14<fn:toLowerCase> 240
8.1.15<fn:toUpperCase> 241
8.1.16<fn:length> 242
8.2自定义函数标签 244
8.2.1定义函数 244
8.2.2定义函数标签 244
8.2.3在web.xml文件中配置标签库 246
8.2.4使用自定义函数标签 246
8.3技能实践 247
任务一:自定义字符过滤函数 247
任务二:函数实现新闻列表 249
8.4本章小结 250
8.5练习题 250
第3篇案例实战篇 254
第9章留言板设计 254
9.1软件需求 254
步骤一:功能需求 254
步骤二:模块分析 254
步骤三:数据流程 255
9.2数据库 256
步骤四:建立数据库 256
步骤五:建立表 256
9.3编写程序 257
步骤六:连接数据库 257
步骤七:添加留言 257
步骤八:保存留言 259
步骤九:留言列表 261
步骤十:查看留言 263
步骤十一:留言管理列表 264
步骤十二:留言删除 267
步骤十三:留言编辑 268
步骤十四:留言编辑保存 270
9.4本章小结 271
第10章综合实例:新闻管理系统 272
10.1软件需求 272
步骤一:功能需求 272
步骤二:模块分析 273
步骤三:数据流程 273
10.2数据库 275
步骤四:建立数据库 275
步骤五:数据模型 275
步骤六:建立数据表 275
10.3编写程序 276
步骤七:连接数据库 276
步骤八:新闻类别管理页 277
步骤九:添加新闻类别 279
步骤十:删除新闻类别 282
步骤十一:新闻管理页面 283
步骤十二:添加新闻 285
步骤十三:查看新闻 290
步骤十四:删除新闻 291
步骤十五:修改新闻 292
步骤十六:新闻管理系统前台开发 295
10.4本章小结 300
第4篇Struts2篇 302
第11章Struts2.x概述 302
11.1Strust2.x简介 302
11.1.1Strust2概述 302
11.1.2Strust2和WebWork2的联系 303
11.1.3Struts2和Struts1的不同 303
11.2在Eclipse中集成Strust2 304
11.2.1Strust2所需的JAR包 304
11.2.2配置文件struts.xml 304
11.2.3配置FilterDispatcher 305
11.3第一个Struts实例 305
11.3.1导入Struts2核心支持包 305
11.3.2在web.xml中配置FilterDispatcher 306
11.3.3登录页面 306
11.3.4处理登录的Action 306
11.3.5Struts2的配置文件 307
11.3.6登录成功页面 308
11.3.7登录操作 308
11.4Struts2工作流程 309
11.5本章小结 309
第12章Struts2基础 310
12.1Struts2的基本配置 310
12.1.1web.xml文件 310
12.1.2struts.properties文件 311
12.1.3struts.xml文件 313
12.1.4struts-default.xml文件 314
12.1.5struts-plugin.xml文件 314
12.2Struts2的注释 315
12.2.1Namespace注释—@Namespace() 315
12.2.2通过@注解配置Action 315
12.3介绍Struts2的Action 317
12.3.1不继承任何类并且不实现任何接口的Action 317
12.3.2实现Action接口 318
12.3.3继承ActionSupport类 318
12.4Struts2的处理结果 319
12.4.1处理结果的配置 319
12.4.2Struts2中的处理结果类型 320
12.5使用通配符 323
12.5.1使用通配符指定Action 323
12.5.2使用通配符指定结果 324
12.6本章小结 325
第13章Struts2的数据校验 326
13.1常用的校验器 326
13.2Struts2校验之validate方法校验 327
13.2.1Validateable接口 327
13.2.2ValidationAware接口 327
13.2.3正则表达式 328
13.2.4实例:使用validate方法校验表单数据 329
13.3Struts2校验之Validation框架校验 331
13.3.1校验器的使用 331
13.3.2required校验器 333
13.3.3requiredstring校验器 333
13.3.4int校验器 334
13.3.5double校验器 335
13.3.6date校验器 336
13.3.7expression校验器 337
13.3.8fieldexpression校验器 337
13.3.9email校验器 338
13.3.10url校验器 339
13.3.11visitor校验器 340
13.3.12conversion校验器 340
13.3.13stringlength校验器 341
13.3.14regex校验器 342
13.4使用@注释配置校验 343
13.5本章小结 344
第14章Struts2的拦截器 345
14.1拦截器概述 345
14.1.1Struts2拦截器概念 345
14.1.2拦截器原理 345
14.2Struts2拦截器的配置 346
14.2.1配置拦截器 346
14.2.2拦截器的使用 348
14.3拦截器的高级应用 349
14.3.1过滤指定方法的拦截器 349
14.3.2拦截指定的结果监听器 352
14.3.3拦截器执行的顺序 353
14.4本章小结 354
第15章Struts2标签库 355
15.1Struts2标签基础 355
15.1.1Struts2标签分类 355
15.1.2OGNL语言 356
15.2控制标签 356
15.2.1if、elseif、else标签 357
15.2.2iterator标签 359
15.2.3append标签 359
15.2.4generator标签 360
15.2.5merge标签 361
15.2.6subset标签 361
15.2.7sort标签 362
15.3数据标签 363
15.3.1action标签 364
15.3.2bean标签 366
15.3.3date标签 368
15.3.4il8n、text标签 369
15.3.5debug标签 369
15.3.6include标签 371
15.3.7param标签 372
15.3.8property标签 372
15.3.9push标签 374
15.3.10set标签 375
15.3.11url标签 376
15.4表单UI标签 378
15.4.1form、submit和reset标签 378
15.4.2textfield、textarea、file、checkbox、radio标签 379
15.4.3select、autocomplete标签 380
15.4.4checkboxlist标签 381
15.4.5combobox标签 383
15.4.6datetimespicker标签 383
15.4.7doubleselect标签 386
15.4.8head标签 387
15.4.9optiontransferselect标签 387
15.4.10optgroup标签 390
15.4.11token标签 391
15.4.12updownselect标签 392
15.5非表单UI标签 393
15.5.1fielderror、actionerror、actionmessage标签 393
15.5.2tree标签 394
15.6本章小结 396
第5篇Hibernate篇 398
第16章Hibernate基础 398
16.1Hibernate概念 398
16.2在MyEclipse中配置Hibernate 398
16.3Hibernate的第一个实例 401
16.3.1创建Web工程并搭建框架 401
16.3.2连接数据库 402
16.3.3创建数据库表 403
16.3.4通过表格自动生成实体类和映射文件 404
16.3.5编辑Hibernate的配置文件 406
16.3.6编辑HibernateSessionFactory类 407
16.3.7使用Hibernate添加数据 408
16.4本章小结 410
第17章HibernateAPI简介 411
17.1Configuration类 411
17.2SessionFactory接口 412
17.2.1SessionFactory简介 412
17.2.2SessionFactory使用 412
17.3Session接口 412
17.3.1Hibernate中Session的概念 412
17.3.2Hibernate中Session的使用 413
17.4Transaction接口 415
17.4.1Transaction接口简介 416
17.4.2Transaction接口的使用 416
17.5Hibernate配置参数介绍 416
17.5.1配置文件参数 416
17.5.2加载实体类映射文件的其他方法 418
17.5.3Configuration对象获取SessionFactory 419
17.5.4数据库连接 419
17.5.5Hibernate配置中的可选参数 421
17.5.6在Hibernate中配置日志文件 422
17.6本章小结 423
第18章Hibernate实体映射 424
18.1实体类的映射 424
18.1.1使用@注解配置实体类 424
18.1.2使用XML文件配置实体类映射 427
18.1.3在hibernate.cfg.xml文件中配置实体类映射 428
18.1.4配置主键映射 428
18.1.5主键生成规则 429
18.1.6使用@注解配置普通属性映射 431
18.1.7使用XML文件配置普通属性映射 431
18.1.8配置临时属性映射 432
18.2Hibernate中的悲观锁和乐观锁 432
18.2.1什么是悲观锁 432
18.2.2悲观锁的使用 433
18.2.3什么是乐观锁 433
18.2.4乐观锁的配置 433
18.3本章小结 434
第19章Hibernate的实体关系映射 435
19.1单向关联映射 435
19.1.1单向的一对一关系 435
19.1.2单向的一对多关系 437
19.1.3单向的多对一关系 438
19.1.4单向的多对多关系 440
19.2双向关联映射 441
19.2.1双向的一对一关系 442
19.2.2双向的一对多关系(双向的多对一关系) 443
19.2.3双向的多对多关系 445
19.3实例:基于主键的双向一对一关系 447
19.3.1表关系分析 447
19.3.2编写实体类和映射文件 448
19.3.3编写HibernateSessionFactory类 450
19.3.4编写Hibernate配置文件 452
19.3.5编写日志文件 453
19.3.6编写测试类 454
19.4实例:基于外键的双向一对一关系 455
19.4.1表关系分析 456
19.4.2编写实体类和映射文件 456
19.4.3编写HibernateSessionFactory类 458
19.4.4编写Hibernate配置文件 459
19.4.5编写日志文件 460
19.4.6编写测试类 461
19.5本章小结 463
第20章HQL查询语句 464
20.1HQL基础 464
20.1.1HQL语法 464
20.1.2HQL中的大小写 464
20.1.3查询中使用包名 465
20.1.4查询结果的返回类型 465
20.1.5from子句 466
20.1.6join关联查询 466
20.1.7select子句 466
20.1.8where子句 467
20.1.9update和delete语句 467
20.1.10insert语句 467
20.2查询结果同时返回多个对象 467
20.2.1返回List集合 467
20.2.2返回对象数组Object[] 468
20.2.3返回实体类对象 468
20.2.4返回Map集合 469
20.3HQL的高级应用 469
20.3.1条件查询 469
20.3.2HQL中的统计函数 470
20.3.3HQL分页显示查询结果 470
20.3.4HQL跨表查询 471
20.3.5HQL级联查询 471
20.3.6使用数据库SQL 471
20.3.7使用@注解配置命名查询 472
20.3.8使用@QueryHint扩展查询 472
20.3.9同时设置多个命名查询 472
20.3.10在XML中配置命名查询 473
20.4本章小结 473
第6篇Spring篇 476
第21章Spring基础 476
21.1Spring概述 476
21.1.1Spring的主要特征 476
21.1.2Spring框架的组成元素 477
21.1.3Spring的核心技术 477
21.2在MyEclipse中配置Spring 478
21.2.1使用MyEclipse自带的JAR包 479
21.2.2下载和安装Spring 479
21.3Spring实例:第一个Spring例子 480
21.3.1编写MyBean类 481
21.3.2编写YouBean类 481
21.3.3编写Spring的配置文件 481
21.3.4编写测试类 482
21.4本章小结 483
第22章控制反转和加载JavaBean 484
22.1控制反转 484
22.1.1依赖注入 484
22.1.2使用控制反转的原因 485
22.2手动配置JavaBean 486
22.2.1<bean>标签的常用属性 486
22.2.2<bean>标记的基本配置 487
22.2.3配置工厂模式 487
22.2.4配置构造函数 488
22.2.5配置单例模式 488
22.2.6配置属性—<property>结点 488
22.2.7设置对象属性—<ref>结点 489
22.2.8配置Map属性—<map>结点 490
22.2.9配置List属性—<list>结点 490
22.2.10配置Set属性—<set>结点 490
22.2.11Bean工厂(BeanFactory) 491
22.3自动装配JaveBean—autowire属性 491
22.3.1autowire属性值介绍 491
22.3.2使用byName装配JavaBean 492
22.3.3使用byType装配JavaBean 492
22.3.4使用constructor装配JavaBean 493
22.3.5使用autodetect装配JavaBean 493
22.4依赖检查 493
22.4.1配置依赖检查 494
22.4.2 dependency属性取值范围 494
22.5本章小结 494
第23章Spring的面向切面编程(AOP) 495
23.1 Spring AOP的通知类型 495
23.1.1前置通知(Before Advice) 495
23.1.2后置通知(After Advice ) 498
23.1.3环绕通知(Around Advice) 500
23.1.4异常通知(Throws Advice ) 503
23.2 Spring AOP的代理模式 503
23.2.1 ProxyFactoryBean代理工厂对象 503
23.2.2 TransactionProxyFactoryBean事务代理工厂对象 503
23.3本章小结 504
第24章Spring的其他技术 505
24.1 Spring的DAO模块 505
24.1.1 MappingSqlQue类返回实体对象 506
24.1.2使用SqlUpdate执行更新 506
24.1.3 SqlFunction返回单一结果 507
24.1.4 Spring配置文件中DAO模块的配置 507
24.2 Spring集成Hibernate 508
24.2.1配置集成Hibernate 508
24.2.2管理Hibernate事务 509
24.2.3使用HibernateTemplate 510
24.3 Spring的MVC模块 511
24.3.1 MVC的控制层 511
24.3.2 MVC的视图层 512
24.3.3配置Spring的MVC 512
24.3.4配置web.xml 513
24.4 Spring的数据库技术 514
24.4.1获得DataSource 514
24.4.2 Spring中装配JdbcTemplate类 516
24.5 Spring的Web模块 517
24.6本章小结 519