第1章 JSP概述 1
1.1 JSP技术概述 2
1.2 JSP技术特征 3
1.3 JSP的处理过程 4
1.4 JSP与其他服务器端脚本语言的比较 5
1.5 JSP开发环境搭建 6
1.5.1 JSP的运行环境 6
1.5.2 JDK的安装与配置 6
1.5.3 Tomcat的安装与启动 9
1.6 JSP开发工具 10
1.6.1 Eclipse的安装与启动 11
1.6.2 Eclipse的使用 11
1.7 JSP程序开发模式 16
1.8 第一个JSP应用 17
1.9 小结 19
习题 19
上机指导 19
第2章 JSP开发基础 20
2.1 Java语言基础 21
2.1.1 基本数据类型及基本数据类型间的转换 21
2.1.2 变量与常量 22
2.1.3 运算符的应用 23
2.1.4 流程控制语句 26
2.1.5 字符串处理 31
2.1.6 数组的创建与应用 33
2.1.7 面向对象程序设计 34
2.1.8 集合类的应用 39
2.1.9 异常处理语句 40
2.2 JavaScript脚本语言 41
2.2.1 JavaScript脚本语言概述 42
2.2.2 在JSP中引入JavaScript 42
2.2.3 JavaScript的数据类型与运算符 42
2.2.4 JavaScript的流程控制语句 44
2.2.5 函数的定义和调用 46
2.2.6 事件 47
2.2.7 JavaScript常用对象的应用 48
2.3 小结 50
习题 51
上机指导 51
第3章 JSP语法 52
3.1 了解JSP的基本构成 53
3.2 JSP的指令标识 54
3.2.1 使用page指令 54
3.2.2 使用include指令 56
3.2.3 使用taglib指令 57
3.3 JSP的脚本标识 57
3.3.1 JSP表达式(Expression) 57
3.3.2 声明标识(Declaration) 58
3.3.3 脚本程序(Scriptlet) 59
3.4 JSP的注释 60
3.4.1 HTML中的注释 60
3.4.2 带有JSP表达式的注释 60
3.4.3 隐藏注释 61
3.4.4 脚本程序(Scriptlet)中的注释 61
3.5 动作标识 63
3.5.1 <jsp:include> 63
3.5.2 <jsp:forward> 65
3.5.3 <jsp:useBean> 66
3.5.4 <jsp:setProperty> 68
3.5.5 <jsp:getProperty> 71
3.5.6 <jsp:fallback> 73
3.5.7 <jsp:plugin> 73
3.5.8 <jsp:param>子标识 76
3.6 小结 76
习题 77
上机指导 77
第4章 JSP内置对象 78
4.1 JSP内置对象概述 79
4.2 request对象 80
4.2.1 访问请求参数 80
4.2.2 在作用域中管理属性 81
4.2.3 获取Cookie 81
4.2.4 获取客户信息 82
4.2.5 访问安全信息 83
4.2.6 访问国际化信息 83
4.3 response对象 84
4.3.1 重定向网页 84
4.3.2 设置HTTP响应报头 85
4.3.3 缓冲区配置 86
4.4 session对象 86
4.4.1 创建及获取客户的会话 87
4.4.2 从会话中移除指定的对象 87
4.4.3 销毁session 88
4.4.4 会话超时的管理 88
4.5 application对象 88
4.5.1 访问应用程序初始化参数 88
4.5.2 管理应用程序环境属性 89
4.6 out对象 90
4.6.1 管理响应缓冲 90
4.6.2 向客户端输出数据 91
4.7 其他内置对象 91
4.7.1 获取会话范围的pageContext对象 91
4.7.2 读取web.xml配置信息的config对象 91
4.7.3 应答或请求的page对象 92
4.7.4 获取异常信息的exception对象 92
4.8 小结 93
习题 93
上机指导 93
第5章 JavaBean技术 94
5.1 JavaBean概述 95
5.1.1 JavaBean技术介绍 95
5.1.2 JavaBean的种类 95
5.1.3 JavaBean规范 96
5.2 JavaBean中的属性 97
5.2.1 简单属性(Simple) 97
5.2.2 索引属性(Indexed) 98
5.3 JavaBean的应用 98
5.3.1 创建JavaBean 99
5.3.2 在JSP页面中应用JavaBean 100
5.4 JavaBean的应用实例 104
5.4.1 应用JavaBean解决中文乱码 104
5.4.2 应用JavaBean实现购物车 107
5.5 小结 114
习题 115
上机指导 115
第6章 Servlet技术 116
6.1 Servlet基础 117
6.1.1 Servlet技术简介 117
6.1.2 Servlet技术功能 117
6.1.3 Servlet技术特点 117
6.1.4 Servlet的生命周期 118
6.1.5 Servlet与JSP的区别 119
6.1.6 Servlet的代码结构 119
6.2 Servlet API编程常用接口和类 120
6.2.1 Servlet接口 120
6.2.2 HttpServlet类 120
6.2.3 ServletConfig接口 121
6.2.4 HttpServletRequest接口 121
6.2.5 HttpServletResponse接口 122
6.2.6 GenericServlet类 123
6.3 Servlet开发 123
6.3.1 Servlet的创建 123
6.3.2 Servlet的配置 125
6.4 Servlet过滤器 128
6.4.1 什么是过滤器 128
6.4.2 过滤器核心对象 129
6.4.3 过滤器创建与配置 130
6.4.4 字符编码过滤器 133
6.5 Servlet监听器 137
6.5.1 Servlet监听器简介 137
6.5.2 Servlet监听器的工作原理 137
6.5.3 监听Servlet上下文 137
6.5.4 监听HTTP会话 138
6.5.5 监听Servlet请求 139
6.5.6 使用监听器查看在线用户 139
6.6 Servlet的应用实例 141
6.6.1 应用Servlet实现留言板 141
6.6.2 应用Servlet实现购物车 145
6.7 小结 153
习题 154
上机指导 154
第7章 JSP实用组件 155
7.1 JSP文件操作 156
7.1.1 添加表单及表单元素 156
7.1.2 创建上传对象 156
7.1.3 解析上传请求 156
7.2 发送E-mail 159
7.2.1 Java Mail组件简介 159
7.2.2 Java Mail核心类简介 159
7.2.3 搭建Java Mail的开发环境 163
7.2.4 在JSP中应用Java Mail组件发送E-mail 164
7.3 JSP动态图表 166
7.3.1 JFreeChart的下载与使用 166
7.3.2 JFreeChart的核心类 167
7.3.3 利用JFreeChart生成动态图表 167
7.4 JSP报表 169
7.4.1 iText组件简介 169
7.4.2 iText组件的下载与配置 169
7.4.3 应用iText组件生成JSP报表 170
7.5 小结 177
习题 177
上机指导 177
第8章 JSP数据库应用开发 178
8.1 数据库管理系统 179
8.1.1 SQL Server 2008数据库 179
8.1.2 MySQL数据库 181
8.1.3 Oracle数据库 181
8.1.4 Access数据库 181
8.2 JDBC概述 181
8.2.1 JDBC技术介绍 181
8.2.2 JDBC驱动程序 182
8.3 JDBC中的常用接口 183
8.3.1 驱动程序接口Driver 183
8.3.2 驱动程序管理器DriverManager 183
8.3.3 数据库连接接口Connection 183
8.3.4 执行SQL语句接口Statement 184
8.3.5 执行动态SQL语句接口PreparedStatement 185
8.3.6 执行存储过程接口CallahleStatement 185
8.3.7 访问结果集接口ResultSet 186
8.4 JDBC访问数据库过程 187
8.5 典型JSP数据库连接 188
8.5.1 SQL Server 2008数据库的连接 188
8.5.2 Access数据库的连接 189
8.5.3 MySQL数据库的连接 190
8.6 数据库操作技术 190
8.6.1 查询操作 191
8.6.2 添加操作 192
8.6.3 修改操作 192
8.6.4 删除操作 193
8.7 连接池技术 194
8.7.1 连接池简介 194
8.7.2 在Tomcat中配置连接池 195
8.7.3 使用连接池技术访问数据库 195
8.8 小结 197
习题 197
上机指导 197
第9章 JSP与Ajax 198
9.1 了解Ajax 199
9.1.1 什么是Ajax 199
9.1.2 Ajax开发模式与传统开发模式的比较 199
9.2 使用XMLHttpRequest对象 200
9.2.1 初始化XMLHttpRequest对象 200
9.2.2 XMLHttpRequest对象的常用方法 201
9.2.3 XMLHttpRequest对象的常用属性 202
9.3 传统Ajax的工作流程 203
9.3.1 发送请求 203
9.3.2 处理服务器响应 205
9.3.3 一个完整的实例——检测用户名是否唯一 206
9.4 jQuery实现Ajax 208
9.4.1 jQuery简介 208
9.4.2 我的第一个jQuery脚本 209
9.4.3 应用load()方法发送请求 210
9.4.4 发送GET和POST请求 211
9.4.5 服务器返回的数据格式 215
9.4.6 使用$.ajax()方法 219
9.5 Ajax开发需要注意的几个问题 220
9.5.1 安全问题 220
9.5.2 性能问题 221
9.5.3 浏览器兼容性问题 221
9.5.4 中文编码问题 221
9.6 小结 222
习题 222
上机指导 222
第10章 JSP高级技术 223
10.1 EL表达式 224
10.1.1 表达式语言 224
10.1.2 EL表达式的简单使用 224
10.1.3 EL表达式的语法 224
10.1.4 EL表达式的运算符 225
10.1.5 EL表达式中的隐含对象 226
10.1.6 EL表达式中的保留字 226
10.2 JSTL标准标签库 227
10.2.1 表达式标签 230
10.2.2 条件标签 232
10.2.3 循环标签 235
10.2.4 URL操作标签 236
10.3 自定义标签库的开发 238
10.3.1 自定义标签的定义格式 238
10.3.2 自定义标签的构成 238
10.3.3 在JSP文件中引用自定义标签 240
10.4 JSP框架技术 242
10.4.1 Struts 2框架 242
10.4.2 Spring框架 243
10.4.3 Hibernate技术 244
10.5 小结 244
习题 245
上机指导 245
第11章 JSP综合开发实例——清爽夏日九宫格日记网 246
11.1 项目设计思路 247
11.1.1 功能阐述 247
11.1.2 系统预览 247
11.1.3 功能结构 248
11.1.4 文件夹组织结构 249
11.2 数据库设计 249
11.2.1 数据库设计 249
11.2.2 数据表设计 250
11.3 公共模块设计 250
11.3.1 编写数据库连接及操作的类 250
11.3.2 编写保存分页代码的JavaBean 253
11.3.3 配置解决中文乱码的过滤器 255
11.3.4 编写实体类 256
11.4 主界面设计 257
11.4.1 主界面概述 257
11.4.2 让采用DIV+CSS布局的页面内容居中 257
11.4.3 主界面的实现过程 258
11.5 用户模块设计 259
11.5.1 用户模块概述 259
11.5.2 实现Ajax重构 259
11.5.3 用户注册的实现过程 261
11.5.4 用户登录的实现过程 270
11.5.5 退出登录的实现过程 274
11.5.6 忘记密码的实现过程 274
11.6 显示九宫格日记列表模块设计 276
11.6.1 显示九宫格日记列表概述 276
11.6.2 展开和收缩图片 277
11.6.3 查看日记原图 279
11.6.4 对日记图片进行左转和右转 279
11.6.5 显示全部九宫格日记的实现过程 282
11.6.6 我的日记的实现过程 285
11.6.7 删除我的日记的实现过程 286
11.7 写九宫格日记模块设计 287
11.7.1 写九宫格日记概述 287
11.7.2 应用JQuery让PNG图片在IE6下背景透明 287
11.7.3 填写日记信息的实现过程 288
11.7.4 预览生成的日记图片的实现过程 292
11.7.5 保存日记图片的实现过程 296
11.8 项目发布 298
11.9 小结 299
第12章 课程设计一——在线投票系统 300
12.1 课程设计的目的 301
12.2 设计思路 301
12.2.1 显示投票选项的设计思路 301
12.2.2 参与投票的设计思路 301
12.2.3 显示投票结果的设计思路 302
12.3 设计过程 302
12.3.1 数据表的设计 302
12.3.2 值JavaBean的设计 303
12.3.3 数据库操作类的编写 304
12.3.4 工具类的编写 309
12.3.5 显示投票选项的设计 309
12.3.6 参与投票的设计 311
12.3.7 查看结果的设计 313
12.4 小结 315
第13章 课程设计二——Ajax聊天室 316
13.1 课程设计的目的 317
13.2 设计思路 317
13.3 设计过程 317
13.3.1 用户JavaBean的编写 317
13.3.2 登录页面的设计 318
13.3.3 聊天室主页面设计 319
13.3.4 在线人员列表的设计 319
13.3.5 用户发言的设计 321
13.3.6 显示聊天内容的设计 322
13.3.7 退出聊天室的设计 324
13.4 小结 325
参考文献 326