第1章 JSP初步 1
1.1认识JSP 1
1.2 JSP技术特性 2
1.3 JSP工作原理 3
1.4搭建JSP的运行环境 5
1.4.1 JDK的安装与配置 5
1.4.2 Tomcat的安装、运行与目录结构 7
1.4.3 Eclipse的安装、运行与特性 11
1.5 JSP程序初步 12
1.5.1创建JSP页 12
1.5.2部署JSP程序 14
小结 15
习题 15
第2章 JSP辅助知识 17
2.1 JSP中的HTML元素 17
2.1.1 HTML文本结构 17
2.1.2表单元素设置 18
2.1.3其他元素设置 21
2.2 JSP中的JavaScript语言 22
2.2.1 JavaScript语言概述 23
2.2.2网页中的JavaScript 23
2.2.3基本语法 23
2.2.4常用语句 24
2.2.5对象 26
2.2.6事件 27
2.3 Web应用程序体系结构 30
2.3.1三层架构 30
2.3.2二层架构 31
2.3.3 JSP技术支持的架构 32
2.4应用服务器 32
2.4.1 Web服务器 32
2.4.2 JSP引擎和Servlet引擎 33
2.5 HTTP 33
小结 34
习题 34
第3章 JSP语法详解 35
3.1 JSP文件的组成 35
3.1.1 JSP页的创建 35
3.1.2 JSP文件的组成元素 36
3.1.3 JSP的转义字符 36
3.2 JSP注释方式 37
3.2.1 HTML注释 37
3.2.2 JSP隐藏注释 37
3.2.3脚本段注释 38
3.3 JSP脚本元素 38
3.3.1声明语句 39
3.3.2脚本段 39
3.3.3 JSP表达式 40
3.4 JSP指令元素 41
3.4.1页面指令元素:page 41
3.4.2包含指令元素:include 42
3.4.3提供动作指令元素:taglib 43
3.5 JSP动作元素 44
3.5.1包含文件:<jsp:include> 44
3.5.2请求转发:<jsp:forward> 45
3.5.3声明使用JavaBean:<jsp:useBean> 47
3.5.4设置JavaBean属性值:<jsp:setProperty> 50
3.5.5获取JavaBean属性值:<jsp:getProperty> 51
3.5.6声明使用Java插件:<jsp:plugin>与<jsp:fallback> 52
3.5.7参数传递:<jsp:params>与<jsp:param> 53
3.5.8其他动作元素 53
小结 54
习题 54
第4章 JSP内置对象详解 55
4.1请求对象:request 55
4.1.1获取请求参数 55
4.1.2在作用域中管理属性 55
4.1.3获取Cookie对象 58
4.1.4获取客户端信息 59
4.2响应对象:response 59
4.2.1客户端与服务器端的交互 60
4.2.2页面重定向 60
4.2.3缓冲区的输出 60
4.2.4 response对象的常用方法 61
4.3会话对象:session 62
4.3.1理解session 62
4.3.2内置对象对通信的控制 62
4.3.3创建与获取客户端session 63
4.3.4移除指定session中的对象 63
4.3.5 session销毁 63
4.3.6 session超时管理 64
4.3.7 session实现局部网页计数器 64
4.4多客户端共享对象:application 64
4.4.1 appliaction对象的作用范围 65
4.4.2 application对象的常用方法 65
4.4.3 application实现全局网页计数器 65
4.5页面对象:page 66
4.5.1 page对象的常用方法 66
4.5.2 page对象的转换类型 66
4.6 页面上下文对象:pageContext 67
4.6.1 pageContext对象的常用方法 67
4.6.2 pageContext 对象获取作用域的值 68
4.7输出对象:out 68
4.8配置对象:config 69
4.8.1 config对象的常用方法 69
4.8.2 config对象获取初始化参数 69
4.9异常对象:exception 70
4.9.1 exception错误机制 70
4.9.2 exception对象的常用方法 70
4.9.3 exception设置指定错误页面 70
4.9.4 exception对象指向空指针错误 71
小结 72
习题 72
第5章 JavaBean组件技术 73
5.1 JavaBean简介 73
5.1.1为什么要使用JavaBean 73
5.1.2 JavaBean的形式和要素 74
5.2 JavaBean属性 75
5.2.1简单属性 75
5.2.2索引属性 76
5.2.3束缚属性 77
5.2.4限制属性 77
5.3 JavaBean的作用域 78
5.3.1 page作用域 78
5.3.2 request作用域 78
5.3.3 session作用域 78
5.3.4 application作用域 78
5.3.5 JavaBean获取作用域数据 79
5.4使用JavaBean计算圆的周长与面积 79
小结 81
习题 81
第6章 Servlet核心技术 82
6.1 Servlet基础 82
6.1.1 Servlet技术功能 82
6.1.2 Servlet特征 82
6.2 Servlet生命周期 83
6.2.1加载并初始化Servlet 83
6.2.2处理客户端请求 84
6.2.3卸载Servlet 84
6.3使用Servlet 85
6.3.1认识第1个Servlet 85
6.3.2使用HttpServlet 86
6.4获取运行环境信息 87
6.4.1获取Servlet信息 87
6.4.2获取服务器端信息 88
6.4.3获取客户端信息 90
6.5 Servlet中的会话设置 92
6.5.1获取HttpSession对象 93
6.5.2在HttpSession对象中保存数据 93
6.5.3在HttpSession对象中读取数据 93
6.6 Servlet中异常设置 95
6.7 Servlet过滤器 97
6.7.1 Servlet过滤器工作原理 98
6.7.2 Servlet过滤器配置 98
6.7.3 Servlet过滤器典型应用 99
6.8 Servlet监听器 101
6.8.1 Servlet监听器工作原理 101
6.8.2 Servlet监听器类型 101
6.8.3 Servlet监听器典型应用 103
小结 104
习题 104
第7章 JSP操作数据库核心技术 105
7.1 JDBC技术概述 105
7.2 JDBC的结构 106
7.2.1 JDBC类型 106
7.2.2数据库驱动程序 106
7.3 JDBC核心编程接口 107
7.3.1驱动器接口:Driver 107
7.3.2驱动管理类:DriverManager 108
7.3.3数据库连接接口:Connection 109
7.3.4执行静态SQL语句接口:Statement 109
7.3.5执行预编译的SQL语句接口:PreparedStatement 110
7.3.6处理存储过程语句接口:CallableStatement 112
7.3.7返回查询结果集接口:ResultSet 113
7.4 JDBC操作数据库的步骤 115
7.4.1加载JDBC驱动程序 115
7.4.2取得数据库连接 116
7.4.3执行各种SQL语句 116
7.4.4获取查询结果 118
7.4.5关闭数据库连接 119
7.6 JDBC对事务的操作 119
7.6.1数据库事务的特性 119
7.6.2 JDBC事务的流程 119
7.6.3 JDBC对事务的管理级别 120
7.6.4 JDBC对事务的设置 120
7.7 JDBC对数据库操作实例 121
7.7.1执行静态SQL语句的实例 121
7.7.2执行预处理SQL语句的实例 124
7.7.3执行存储过程的实例 125
7.7.4获取数据表信息 126
7.7.5 JDBC事务的应用 128
7.8数据库连接池 130
7.8.1数据库连接池概述 130
7.8.2连接池的实现原理 130
7.8.3 Tomcat连接池的实现 131
7.8.4 Proxool连接池的实现 134
7.8.5其他连接池 137
小结 138
习题 138
第8章 JSP核心表达式与标签 139
8.1 JSP表达式 139
8.1.1 JSP表达式概述 139
8.1.2 JSP表达式使用 139
8.1.3访问作用域变量 141
8.1.4 JSP表达式隐藏对象 142
8.2 JSTL标准标签库 144
8.2.1 JSTL标签 144
8.2.2 JSTL获取 144
8.2.3 JSTL安装与配置 145
8.3 JSTL核心标签 146
8.3.1输出结果标签 146
8.3.2对象属性设置标签 146
8.3.3对象值删除设置标签 147
8.3.4捕捉异常标签 147
8.3.5 if条件判断标签 149
8.3.6 choose条件判断标签 149
8.3.7条件分支标签 150
8.3.8其他条件分支标签 150
8.3.9迭代标签 151
8.3.10导入URL资源标签 153
8.3.11构造URL标签 154
8.3.12重定向URL标签 154
8.3.13 URL参数传递标签 155
8.4 JSTL的XML标签 156
8.5 JSTL的格式化标签 159
8.6 JSTL的其他标签 161
8.6.1数据库标签 161
8.6.2函数标签 163
8.7自定义标签 165
8.7.1自定义标签的格式 165
8.7.2自定义标签的构成 165
8.7.3自定义标签的实例 166
小结 167
习题 168
第9章 Web网页模板技术 169
9.1 Web模板概述 169
9.2 Velocity模板 169
9.2.1 Velocity的下载与安装 170
9.2.2初识Velocity 170
9.2.3 Velocity的注释 171
9.2.4 Velocity的引用 171
9.2.5 Velocity的指令 173
9.2.6 Velocity的其他特性 176
9.2.7在Web应用程序中使用Velocity 177
9.3 FreeMarker模板 178
9.3.1 FreeMarker的下载与安装 179
9.3.2初识FreeMarker 179
9.3.3 FreeMarker的注释 180
9.3.4 FreeMarker的指令 180
9.3.5 FreeMarker的Interpolation 186
9.3.6 FreeMarker的表达式 187
9.3.7在Web应用程序中使用FreeMarker 190
小结 191
习题 192
第10章 JSP实用组件技术 193
10.1上传与下载组件 193
10.1.1 Commons-FileUpload组件概述 193
10.1.2获取Commons-FileUpload组件 193
10.1.3应用Commons-Fi leUpload组件完成文件上传 194
10.1.4文件的下载 196
10.2发送E-mail组件 198
10.2.1邮件传输协议 198
10.2.2 Java Mail组件 198
10.2.3获取Java Mail组件 199
10.2.4应用Java Mail组件完成电子邮件的发送 199
10.2.5应用Java Mail组件完成电子邮件的接收 202
10.3动态图表组件 204
10.3.1 JFreeChart组件 204
10.3.2获取JFreeChart组件 204
10.3.3使用JFreeChart绘制柱形图 205
10.3.4使用JFreeChart绘制饼图 208
小结 210
习题 210
第11章 MVC设计模式 211
11.1表示层的两种架构模式 211
11.1.1 Modell架构模式 211
11.1.2 Mode12架构模式 212
11.2 MVC的基础知识 212
11.2.1 MVC的发展史 212
11.2.2 MVC的基本构成 213
11.2.3 MVC的优缺点 214
11.3 Struts2框架的MVC实现机制 214
11.3.1 Struts2框架的基本工作流程 214
11.3.2 Struts2 MVC的实现方式 215
11.3.3 Struts2 MVC的实际应用 216
11.4 Spring框架的MVC实现机制 218
11.4.1 Spring MVC的基本工作流程 218
11.4.2 Spring MVC的实际应用 219
小结 221
习题 221
第12章 JSP实例开发1——论坛 222
12.1实例开发实质 222
12.2系统业务流程 222
12.3数据表设计 223
12.4文件结构设计 224
12.5公共模块设计 225
12.5.1数据库连接类 225
12.5.2分页生成器类 226
12.5.3验证码生成器类 228
12.5.4系统配置 229
12.6用户登录与安全退出 230
12.6.1用户登录与退出功能概述 230
12.6.2用户登录与退出功能技术分析 231
12.6.3用户登录与退出功能实现过程 231
12.7查看帖子 234
12.7.1查看帖子功能概述 234
12.7.2查看帖子功能技术分析 234
12.7.3查看帖子功能实现过程 234
12.8发布帖子 237
12.8.1发布帖子功能概述 237
12.8.2发布帖子功能技术分析 237
12.8.3发布帖子功能实现过程 238
12.9回复帖子 239
12.9.1回复帖子功能概述 239
12.9.2回复帖子功能技术分析 240
12.9.3回复帖子功能实现过程 240
12.10删除帖子 244
12.10.1删除帖子功能概述 245
12.10.2删除帖子功能技术分析 245
12.10.3删除帖子功能实现过程 245
小结 248
第13章 JSP实例开发2——购物车 249
13.1实例开发实质 249
13.2系统业务流程 249
13.3数据表设计 251
13.4文件结构设计 252
13.5公共模块设计 252
13.5.1数据库连接类 253
13.5.2编码转换类 253
13.5.3交易流水号生成类 254
13.5.4系统配置 254
13.6添加至购物车 255
13.6.1添加至购物车模块概述 255
13.6.2添加至购物车模块技术分析 256
13.6.3添加至购物车模块实现过程 256
13.7查看购物车 257
13.7.1查看购物车模块概述 257
13.7.2查看购物车模块技术分析 257
13.7.3查看购物车模块实现过程 258
13.8修改商品购买数量 259
13.8.1修改商品购买数量模块概述 259
13.8.2修改商品购买数量模块技术分析 259
13.8.3修改商品购买数量模块实现过程 260
13.9在购物车中移除指定商品 260
13.9.1移除商品模块概述 260
13.9.2移除商品模块技术分析 261
13.9.3移除商品模块实现过程 261
13.10收银台结账 261
13.10.1结账模块概述 261
13.10.2结账模块技术分析 262
13.10.3结账模块实现过程 262
小结 264