第1章 搭建JSP的开发环境 1
1.1 所需软件 1
1.2 下载和安装JDK 1
1.2.1 下载JDK 1.5 2
1.2.2 安装JDK 1.5 2
1.2.3 配置JDK环境变量 5
1.3 下载和安装Tomcat 7
1.3.1 下载Tomcat 5.5 7
1.3.2 安装Tomcat 5.5 7
1.3.3 测试Tomcat 5.5 11
1.4 构建第一个JSP程序 12
1.4.1 建立JSP目录 12
1.4.2 创建JSP页面 13
1.4.3 部署Web应用程序 13
1.4.4 测试运行 14
本章小结 14
第2章 JSP基础 15
2.1 JSP简介 15
2.2 JSP语法概要 15
2.2.1 JSP指令 16
2.2.2 JSP声明 16
2.2.3 Java程序片段 16
2.2.4 JSP表达式 17
2.2.5 JSP隐含对象 17
2.3 JSP工作原理 17
2.4 JSP语法规范 19
2.4.1 JSP文件命名 19
2.4.2 JSP空白元素 19
2.4.3 JSP注释 20
2.4.4 JSP对象和作用域 20
本章小结 22
第3章 JSP语法 23
3.1 JSP脚本元素 23
3.1.1 声明格式 23
3.1.2 表达式格式 24
3.1.3 Scriptlet格式 26
3.2 JSP指令 27
3.2.1 page指令 27
3.2.2 include指令 30
3.2.3 taglib指令 30
3.3 JSP动作 31
3.3.1 jsp:param动作 31
3.3.2 jsp:include动作 31
3.3.3 jsp:forward动作 34
3.3.4 jsp:plugin动作 37
3.3.5 jsp:element动作 40
3.3.6 jsp:attribute动作 40
3.3.7 jsp:body动作 41
3.3.8 jsp:text动作 41
3.3.9 jsp:invoke动作 42
3.3.10 jsp:doBody动作 42
3.3.11 jsp:output动作 43
3.3.12 jsp:root动作 43
3.3.13 jsp:declaration动作 44
3.3.14 jsp:scriptlet动作 44
3.3.15 jsp:expression动作 44
3.4 JSP出错处理 44
3.4.1 编译错误 45
3.4.2 运行错误 46
本章小结 50
第4章 JSP内置对象 51
4.1 request请求对象 51
4.1.1 方法介绍 51
4.1.2 request对象成员 53
4.1.3 request对象方法的使用举例 53
4.2 response响应对象 59
4.2.1 方法介绍 59
4.2.2 response对象成员 60
4.2.3 response对象方法的使用举例 62
4.3 out输出对象 64
4.3.1 方法介绍 64
4.3.2 out对象成员 65
4.3.3 out对象方法的使用举例 65
4.4 pageContext页面上下文对象 66
4.4.1 方法介绍 66
4.4.2 pageContext对象成员 67
4.4.3 pageContext对象方法的使用举例 68
4.5 session会话对象 69
4.5.1 方法介绍 69
4.5.2 session对象方法的使用举例 70
4.6 application应用程序对象 72
4.6.1 方法介绍 72
4.6.2 application对象方法的使用举例 73
4.7 page页面对象 75
4.7.1 方法介绍 76
4.7.2 page对象方法的使用举例 76
4.8 config参数配置对象 77
4.8.1 方法介绍 77
4.8.2 config对象方法的使用举例 77
4.9 exception异常处理对象 78
4.9.1 方法介绍 79
4.9.2 exception对象方法的使用举例 79
本章小结 80
第5章 EL表达式语言 81
5.1 EL特点 81
5.2 EL语法 82
5.2.1 EL变量及作用范围 82
5.2.2 EL关键字 83
5.2.3 EL运算符 83
5.3 EL隐含对象 86
5.3.1 pageContext对象 86
5.3.2 param和paramValues对象 87
5.3.3 header和headerValues对象 89
5.3.4 cookie对象 90
5.3.5 initParam对象 90
5.3.6 pageScope、requestScope、sessionScope、applicationScope对象 90
5.4 EL函数 90
本章小结 92
第6章 JSP标准标签库 93
6.1 JSTL简介 93
6.2 核心标签库 94
6.2.1 通用标签 94
6.2.2 条件处理标签 96
6.2.3 循环控制标签 98
6.2.4 URL相关标签 99
6.3 国际化/格式化标签库 102
6.3.1 国际化标签 102
6.3.2 格式化标签 105
6.4 数据库标签库 108
6.4.1 〈sql:setDataSource〉标签 108
6.4.2 〈sql:query〉标签 109
6.4.3 〈sql:param〉标签 110
6.4.4 〈sql:dateParam〉标签 110
6.4.5 〈sql:update〉标签 111
6.4.6 〈sql:transaction〉标签 111
6.5 XML标签库 111
6.5.1 核心操作标签 111
6.5.2 流程控制标签 114
6.5.3 转换操作标签 116
6.6 函数标签库 117
6.6.1 判断函数fn:contains 118
6.6.2 判断函数fn:containslgnoreCase 118
6.6.3 词头判断函数fn:startsWith 118
6.6.4 词尾判断函数fn:endsWith 119
6.6.5 字符匹配函数fn:indexOf 119
6.6.6 替换函数fn:replace 120
6.6.7 字符串截取函数fn:substring 120
6.6.8 截取起始到定位字符串函数fn:substringBefore 120
6.6.9 截取结尾到定位字符串函数fn:substringAfter 121
6.6.10 分隔符转换数组函数fn:split 121
6.6.11 分隔符函数fn:join 121
6.6.12 小写转换函数fn:toLowerCase 122
6.6.13 大写转换函数fn:toUpperCase 122
6.6.14 空格删除函数fn:trim 122
6.6.15 字符实体转换函数fn:escapeXml 123
6.6.16 长度函数fn:length 123
本章小结 124
第7章 使用JavaBean组件 125
7.1 JavaBean概述 125
7.2 在JSP中使用JavaBean 127
7.2.1 配置JavaBean 127
7.2.2 〈jsp:useBean〉标签 128
7.2.3 〈jsp:setProperty〉标签 129
7.2.4 〈jsp:getProperty〉标签 130
7.2.5 实例:使用JavaBean获取页面提交信息 131
7.3 在EL表达式中使用JavaBean 134
7.4 在数据库中使用JavaBean 137
7.4.1 编写访问数据库的JavaBean 138
7.4.2 使用JavaBean来访问数据库 139
7.5 自动类型转换 140
本章小结 140
第8章 JSP自定义标签 141
8.1 自定义标签库 141
8.1.1 创建自定义标签 142
8.1.2 使用自定义标签 147
8.1.3 JavaBean与自定义标签 148
8.2 标签文件 149
8.2.1 内容重用 149
8.2.2 自定义模板 150
8.2.3 标签文件中的变量 154
8.3 简单标签 155
8.3.1 SimpleTag接口 155
8.3.2 简单标签的基本生命周期 156
8.3.3 SimpleTagSupport类 156
8.3.4 实例:简单标签 157
8.4 标签库重用 159
8.4.1 创建JAR文件 159
8.4.2 配置标签库 160
8.4.3 使用标签库 160
8.4.4 重用标签文件 160
8.4.5 实例:使用同一标签库中的不同标签 160
本章小结 162
第9章 Servlet基础 163
9.1 什么是Java Servlet 163
9.2 Servlet技术特点 163
9.3 Servlet功能 166
9.4 Servlet基本结构 166
9.5 Servlet生命周期 167
9.6 Servlet重载 168
9.7 Servlet实例讲解 168
9.7.1 通用Servlet 169
9.7.2 HTTP Servlet 169
本章小结 175
第10章 Servlet API介绍 176
10.1 Servlet 176
10.2 ServletRequest 177
10.3 ServletResponse 180
10.4 HttpServlet 181
10.5 HttpServletRequest 184
10.6 HttpServletResponse 185
10.7 HttpSession 186
本章小结 188
第11章 Servlet API使用举例 189
11.1 读取HTTP请求头 189
11.1.1 HTTP请求头概述 189
11.1.2 在Servlet中读取请求头 190
11.1.3 实例:读取HTTP请求头 190
11.2 设置HTTP应答状态 191
11.2.1 状态代码概述 191
11.2.2 状态代码的设置 192
11.2.3 状态代码的含义 192
11.2.4 实例:综合搜索引擎 194
11.3 设置HTTP应答头 196
11.3.1 HTTP应答头概述 196
11.3.2 常见应答头的含义 197
11.3.3 实例:HTTP重定向 198
本章小结 199
第12章 访问CGI变量 200
12.1 标准CGI变量的Servlet等价表示 200
12.2 实例 201
本章小结 202
第13章 Servlet的开发和部署 203
13.1 Servlet开发和部署的基础知识 203
13.1.1 Web应用程序 203
13.1.2 Servlet的相关元素 204
13.1.3 Servlet的名称、初始化参数和映射 204
13.1.4 Servlet的调用 205
13.2 实例一:Hello World 205
13.3 实例二:Welcome 207
本章小结 209
第14章 JSP开发与应用模型 210
14.1 JSP+JavaBean模型 210
14.2 JSP+Servlet+JavaBean模型 216
14.3 MVC模型 223
14.4 MVC2模型 225
14.4.1 控制器 225
14.4.2 模型 226
14.4.3 视图 226
14.5 层次模式 226
14.5.1 2层应用模式 227
14.5.2 N层应用模式 227
14.6 J2EE模型 228
本章小结 228
第15章 高级Servlet API 229
15.1 ServletlnputStream类 229
15.2 ServletOutputStream类 229
15.2.1 print()方法 229
15.2.2 println()方法 230
15.3 ServletConfig接口 230
15.3.1 getlnitParameter()方法 230
15.3.2 getlnitParameterNames()方法 231
15.3.3 getServletContext()方法 232
15.3.4 getServletName()方法 232
15.4 ServletContext接口 232
15.4.1 getMimeTyPe()方法 232
15.4.2 getRealPath()方法 233
15.4.3 getResource()方法 234
15.4.4 getResourceAsStream()方法 235
15.4.5 getServerInfo()方法 236
15.4.6 attributes相关方法 236
15.5 ServletException类 237
15.6 UnavailableException类 238
本章小结 238
第16章 Cookie的使用 239
16.1 什么是Cookie 239
16.2 如何使用Cookie 240
16.2.1 创建Cookie 240
16.2.2 读取和设置Cookie属性 240
16.2.3 在应答头中设置Cookie 241
16.2.4 读取保存到客户端的Cookie 242
16.2.5 获取指定名字的Cookie值 243
16.2.6 自动保存Cookie 244
16.3 实例 244
本章小结 251
第17章 会话 252
17.1 什么是会话 252
17.2 会话管理方法 253
17.2.1 将会话ID存放到URL路径中 253
17.2.2 重写URL 254
17.2.3 利用Cookie传递会话信息 259
17.3 会话状态跟踪API 260
17.3.1 查看当前请求的会话对象 260
17.3.2 查看和会话有关的信息 260
17.3.3 保存会话对象中的数据 262
17.4 会话监听和事件 266
本章小结 269
第18章 请求转发 270
18.1 RequestDispatcher接口 270
18.1.1 forward()方法 270
18.1.2 include()方法 271
18.2 RequestDispatcher对象 272
18.3 请求转发、重定向和包含的关系 274
本章小结 276
第19章 MVC模式 277
19.1 实现MVC 277
19.1.1 Model层的实现 278
19.1.2 View层的实现 281
19.1.3 Controller层的实现 290
19.2 三种数据共享方式的对比 292
19.2.1 基于请求的共享 292
19.2.2 基于会话的共享 294
19.2.3 基于应用的共享 297
本章小结 299
第20章 使用JDBC进行数据访问 300
20.1 数据库和SQL语句 300
20.2 JDBC技术和驱动程序 303
20.2.1 JDBC技术 303
20.2.2 驱动程序 305
20.3 JDBC中常用的对象 307
20.3.1 Driver接口 308
20.3.2 DriverManager类 309
20.3.3 Connection接口 311
20.3.4 Statement接口 311
20.3.5 ResultSet接口 321
20.4 数据源和连接池 329
20.4.1 连接池 329
20.4.2 数据源 330
20.4.3 实例:在JSP、Servlet中使用数据源 334
本章小结 338
第21章 使用持久层访问数据库 339
21.1 Hibernate框架简介 339
21.1.1 什么是Hibernate框架 340
21.1.2 为什么要用Hibernate框架 341
21.2 Hibernate安装与配置 342
21.2.1 下载Hibernate 342
21.2.2 安装Hibernate 343
21.2.3 配置Hibernate 344
21.3 利用Hibernate开发Web应用 345
21.3.1 简述Hibernate的核心接口 345
21.3.2 编写实体对象文件 347
21.3.3 编写实体映射文件 348
21.3.4 编写配置文件 349
21.3.5 开发JSP文件 350
本章小结 353
第22章 JSP的开发工具:MyEclipse 354
22.1 MyEclipse插件简介 354
22.1.1 什么是MyEclipse插件 354
22.1.2 为什么要用MyEclipse插件 354
22.2 MyEclipse安装与配置 355
22.2.1 下载MyEclipse 355
22.2.2 安装MyEclipse 356
22.2.3 配置MyEclipse 357
22.3 在MyEclipse下进行JSP开发 358
22.3.1 新建Web Project 359
22.3.2 新建JSP文件 361
22.3.3 实例:开发JSP应用 362
本章小结 363
第23章 Struts、Servlet与JSP 364
23.1 Struts简介 364
23.1.1 什么是Struts 364
23.1.2 为什么要用Struts 367
23.1.3 安装Struts 367
23.2 配置Struts应用 368
23.2.1 配置web.xml 368
23.2.2 配置struts-config.xml 368
23.3 Struts主要控制器组件 371
23.3.1 ActionServlet组件 371
23.3.2 ActionMapping组件 373
23.3.3 ActionForm组件 373
23.3.4 Action组件 374
23.4 Struts标签库 375
23.4.1 Struts-html标签库 375
23.4.2 Struts-bean标签库 381
23.5 实例:使用Struts开发JSP应用 385
本章小结 392
第24章 JSP与Spring框架的应用 393
24.1 Spring框架简介 393
24.1.1 什么是Spring框架 393
24.1.2 为什么要用Spring框架 394
24.2 Spring安装与配置 395
24.2.1 下载Spring 395
24.2.2 安装Spring 395
24.2.3 配置Spring 396
24.3 控制反转/依赖注入机制 396
24.3.1 控制反转/依赖注入简介 396
24.3.2 依赖注入的三种实现方式 397
24.4 AOP思想 403
24.4.1 AOP思想简介 403
24.4.2 AOP的三个关键概念 404
24.5 实例:利用JSP+Spring进行Web开发 409
本章小结 412
第25章 Ajax技术与JSP结合开发实例 413
25.1 Web 2.0与Ajax简介 413
25.1.1 什么是Web 2.0 413
25.1.2 什么是Ajax 414
25.2 Ajax相关技术 416
25.2.1 JavaScript 417
25.2.2 XMLHttpRequest 418
25.2.3 DOM 421
25.3 Ajax常用框架 427
25.3.1 服务器端框架 427
25.3.2 客户端框架 429
25.4 实例:页面登录验证 431
25.4.1 传统实现方式——JSP+Servlet 431
25.4.2 Ajax实现方式——JSP+Ajax 433
25.4.3 Ajax工作流程总结 437
本章小结 439
第26章 办公管理系统 440
26.1 总体设计 440
26.2 界面设计 441
26.3 数据库设计 446
26.3.1 数据表的概要说明 447
26.3.2 主要数据表的结构定义 447
26.3.3 表之间的关系图 449
26.4 办公管理系统的详细设计 450
26.4.1 创建数据库 450
26.4.2 连接数据库 450
26.4.3 员工登录及使用模块设计 453
26.4.4 管理员登录及使用模块设计 460
本章小结 469
第27章 在线博客系统 470
27.1 总体设计 470
27.2 界面设计 472
27.3 数据库设计 477
27.3.1 数据表的概要说明 478
27.3.2 主要数据表的结构定义 478
27.3.3 表之间的关系图 480
27.4 Ajax博客系统的详细设计 480
27.4.1 创建数据库 480
27.4.2 连接数据库 481
27.4.3 前台显示模块的实现 485
27.4.4 博客管理模块的实现 491
本章小结 507
第28章 网上购书系统 508
28.1 总体设计 508
28.2 界面设计 509
28.2.1 网站前台界面设计 511
28.2.2 网站后台界面设计 514
28.3 数据库设计 516
28.3.1 数据表的概要说明 516
28.3.2 主要数据表的结构定义 516
28.3.3 表之间的关系图 518
28.4 网上购书系统的详细设计 519
28.4.1 创建数据库 519
28.4.2 与数据库连接的实现 520
28.4.3 前台功能模块 522
28.4.4 后台管理模块 534
本章小结 543