本书系统地介绍了有关JSP开发所涉及的各类知识。全书共分13章,内容包括JSP概述、JSP开发基础、JSP语法、JSP内置对象、JavaBean技术、Servlet技术、JSP实用组件、JSP数据库应用开发、JSP与Ajax及JSP高级技术,并通过JSP综合开发实例——清爽夏日九宫格日记网,介绍了JSP应用的开发流程和相关技术的综合应用。全书提供了两个课程设计方案,在线投票系统和Ajax聊天室,供学生综合实践使用。
本书为慕课版教材,各章节主要内容配备了以二维码为载体的微课,并在人邮学院 平台上提供了慕课。此外,本书还提供了课程资源包,资源包中提供有本书所有实例、上机指导、综合案例和课程设计的源代码,制作精良的电子课件PPT,自测试卷等内容。资源包也可在人邮学院上下载。其中,源代码全部经过精心测试,能够在Windows 7、Windows 8、Windows 10系统下编译和运行。
30小时慕课教学视频同步讲解,让学习更高效快捷
80个精彩课堂案例,12个课堂实验,1个综合案例,Java学习从入门到精通
66道习题,300道自测题,5套自测试卷,巩固所学知识
提供免费教学资源,包括精品教学PPT、案例源代码、自测题库、拓展综合案例
明日科技,程序设计类畅销书作者,其主要作品“视频大讲堂”系列,每个品种都在其同品种的图书中销售名列前茅。累计销售数十万册。其中《Java Web从入门到精通》长期占据Java Web零售图书排行榜前三位,年销量上万册。
第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
实例:if...else语句示例
实例:应用switch语句,根据输入的星期数,输出相应的提示信息
实例:分别利用for、while和do...while循环语句计算1到100之间所有整数和
2.1.5 字符串处理 31
实例:字符串应用实例
2.1.6 数组的创建与应用 33
2.1.7 面向对象程序设计 34
实例:在类中声明两个成员方法
实例:在类中声明3个成员变量,并且在其成员方法中声明两个局部变量
实例:对象的使用方法
2.1.8 集合类的应用 39
实例:使用ArrayList集合存储数据
实例:实现创建空的Vector对象,并向其添加元素,然后输出所有元素
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
实例:利用while循环语句将数字7格式化为00007
实例:利用do...while循环语句将数字7格式化为00007
实例:利用for循环语句将数字7格式化为00007
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
实例:在JSP中实现选择输出脚本程序
3.4 JSP的注释 60
3.4.1 HTML中的注释 60
实例:HTML注释的应用
3.4.2 带有JSP表达式的注释 60
实例:带有JSP表达式注释的应用
3.4.3 隐藏注释 61
实例:隐藏注释的应用
3.4.4 脚本程序(Scriptlet)中的
注释 61
实例:单行注释的应用
实例:多行注释的应用
3.5 动作标识 63
3.5.1 63
实例:通过include指令和动作标识包含文件
3.5.2 65
3.5.3 66
3.5.4 68
实例:标识的使用
3.5.5 71
实例:利用标签输出JavaBean中的属性
3.5.6 73
3.5.7 73
实例:codebase属性的使用
3.5.8 子标识 76
实例:
3.6 小结 76
习题 77
上机指导 77
第4章 JSP内置对象 78
4.1 JSP内置对象概述 79
4.2 request对象 80
4.2.1 访问请求参数 80
实例:在login.jsp页面中通过表单向login_deal.jsp页面提交数据,在login_deal.jsp获取提交数据并输出
4.2.2 在作用域中管理属性 81
实例:使用request对象的setAttribute()方法设置数据,然后在请求转发后取得设置的数据
4.2.3 获取Cookie 81
实例:使用request对象的addCookie()方法实现记录本次及上一次访问网页的时间
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
实例:将JSP页面保存为word文档
4.3.3 缓冲区配置 86
实例:输出缓冲区的大小并测试强制将缓冲区的内容发送给客户
4.4 session对象 86
4.4.1 创建及获取客户的会话 87
实例:创建并获取客户会话
4.4.2 从会话中移除指定的对象 87
实例:通过setAttribute()方法将数据保存在session中,然后通过removeAttribute()方法移除指定对象
4.4.3 销毁session 88
4.4.4 会话超时的管理 88
4.5 application对象 88
4.5.1 访问应用程序初始化参数 88
实例:访问程序初始化参数
4.5.2 管理应用程序环境属性 89
实例:通过application对象中的setAttribute()和getAttribute()方法实现网页计数器
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
实例:值JavaBean示例
实例:工具JavaBean示例
5.1.3 JavaBean规范 96
实例:JavaBean规范示例
5.2 JavaBean中的属性 97
5.2.1 简单属性(Simple) 97
实例:定义简单属性,并定义相应的set×××( )与get×××( )方法进行访问
5.2.2 索引属性(Indexed) 98
实例:定义索引属性,并定义相应的set×××( )与get×××( )方法进行访问
5.3 JavaBean的应用 98
5.3.1 创建JavaBean 99
实例:在Eclipse下创建JavaBean
5.3.2 在JSP页面中应用JavaBean 100
实例:获取用户留言信息
5.4 JavaBean的应用实例 104
5.4.1 应用JavaBean解决中文乱码 104
实例:应用JavaBean解决中文乱码
5.4.2 应用JavaBean实现购物车 107
实例:应用JavaBean实现购物车
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
实例:通过Servlet向浏览器中输出文本信息
6.4 Servlet过滤器 128
6.4.1 什么是过滤器 128
6.4.2 过滤器核心对象 129
6.4.3 过滤器创建与配置 130
实例:创建名称为MyFilter的过滤器对象
实例:通过过滤器实现网站访问计数器
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
实例:应用Servlet实现留言板
6.6.2 应用Servlet实现购物车 145
实例:应用Servlet实现购物车
6.7 小结 153
习题 154
上机指导 154
第7章 JSP实用组件 155
7.1 JSP文件操作 156
7.1.1 添加表单及表单元素 156
7.1.2 创建上传对象 156
7.1.3 解析上传请求 156
实例:应用Commons-FileUpload组件将文件上传到服务器
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
实例:发送普通文本格式的E-mail
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
实例:在JSP页面中输出PDF文档
实例:创建表格
实例:图像处理
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 执行存储过程接口CallableStatement 185
8.3.7 访问结果集接口ResultSet 186
8.4 JDBC访问数据库过程 187
8.5 典型JSP数据库连接 188
8.5.1 SQL Server 2008数据库的
连接 188
实例:在JSP中连接SQL Server 2008数据库
8.5.2 Access数据库的连接 189
实例:在JSP中连接Access数据库
8.5.3 MySQL数据库的连接 190
实例:在JSP中连接MySQL数据库
8.6 数据库操作技术 190
8.6.1 查询操作 191
实例:按照name查询用户信息
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
实例:编写一个会员注册页面,并应用Ajax实现检测用户名是否唯一的功能
9.4 jQuery实现Ajax 208
9.4.1 jQuery简介 208
9.4.2 我的第一个jQuery脚本 209
实例:应用jQuery弹出一个提示对话框
9.4.3 应用load()方法发送请求 210
实例:显示实时走动的时间
9.4.4 发送GET和POST请求 211
实例:采用jQuery的get( )方法实现例9.1
实例:聊天室中实时显示聊天内容
9.4.5 服务器返回的数据格式 215
实例:使用JSON格式返回聊天内容
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
实例:测试标签的escapeXml属性及通过两种语法格式设置default属性时的显示结果
实例:应用标签定义不同范围内的变量,并通过EL进行输出
实例:应用标签定义一个page范围内的变量,然后应用通过EL输出该变量,再应用标签移除该变量,最后再应用EL输出该变量
10.2.2 条件标签 232
实例:应用标签判断用户名是否为空,如果为空则显示一个用于输入用户名的文本框及“提交”按钮
实例:应用标签、标签和标签根据当前时间显示不同的问候
10.2.3 循环标签 235
实例:应用标签循环输出List集合中的内容,并通过标签循环输出字符串“编程词典”6次
实例:应用标签分割字符串并显示
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图片在IE 6下背景透明 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