
本节全面、详实地介绍了应用JSP进行Web程序开发所需的各种知识和技能,主要内容包括:Web技术概述;在JSP基础知识;Easy_Buy电子商城系统设计;JSP语法;JSP内置对象;JSP访问数据库;JSP中应用JavaBean;Servlet技术;JSP高级应用;Easy_Buy电子商城关键代码分析。
作者在多年开发经验与教学经验的基础上,根据Web程序员的岗位能力要求和学生的认知规律精心组织了本教材内容,通过一个实际的“Easy_Buy电子商城”项目,以案例的方式介绍JSP程序设计技术,适合“项目驱动、案例教学、理论实践一体化”的教学方法,将知识讲解和技能训练有机结合,融“教、学、练”于一体。同时还提供教材中的的所有例题及项目源码、电子课件。
本书可作为高职高专软件技术专业、网络技术专业的教材,也可作为计算机培训班的教材及Web程序员的自学参考书。
前 言
本书是湖南省“十一五”教育科学重点规划课题的研究成果教材,是国家示范性建设院校重点建设专业(软件技术专业)的特色教材,是创新教学方法、强化操作技能的实验 教材。
Java Server Page(简称为JSP)是由Sun公司于1999年6月推出的一种基于Java Servlet的Web开发技术。它以Java语言为基础,与HTML语言紧密结合,可以很好地实现Web页面设计和业务逻辑分离,可以让Web程序员专注于业务逻辑的实现。JSP程序不仅编写灵活、执行容易,而且大大提高了系统的执行性能。
本书是作者在总结了多年开发经验与成果的基础上编写的,以一个实际的项目(Easy_Buy电子商城)为中心,全面、详实地介绍了JSP开发所需的各种知识和技能。通过本书的学习,读者可以快速、全面地掌握使用JSP开发Web应用程序的方法。作为“项目驱动、案例教学、理论实践一体化”教学方法的载体,本书主要有以下特色。
(1) 合理的知识结构。本书的定位是读者在具备Java语言的基础上使用JSP进行Web开发,重点介绍JSP开发的主要技能。关于Java语言基础,读者可以参阅作者编写的《Java程序设计案例教程》一节;关于网页设计基础,读者可以参阅陈承欢编写的《网页设计与制作案例教程》一节。
(2) 真实的案例教学。在真实项目的基础上,经过精心设计将项目分解为多个既独立又具有一定联系的教学案例(74个)。学生学习案例的过程,就是学习JSP知识和技能的过程,达到“知识案例的一体化”;学生在完成案例的同时,也就完成了项目的某一功能,达到“案例项目的一体化”。
(3) 理论实践一体化。打破传统的先理论学习,后上机练习的教学模式,将知识讲解和技能训练放在同一教学单元和教学地点完成,融“教、学、练”于一体。每一案例的讲解都先提出功能目标,然后历经多次教师演示—学生模仿的循环,让学生掌握案例的完成过程,体现“在做中学、学以致用”的教学理念。
(4) 阶梯式实践环节。本书精心设置了4个实践环节:课堂练习、课外拓展、单元实践、综合实训。让学生通过不断实践,实现编程技能的逐步推进,最终实现与职业能力的“零距离”。
本书共分11章,章节划分如下。
第1章:Web技术概述。介绍了静态网页与动态网页、Web服务器和网络数据库、几种流行的动态网页开发工具、C/S模式与B/S模式。
第2章:JSP基础知识。介绍了JDK的安装配置、Tomcat的安装配置、JSP开发工具和创建第1个JSP程序。
第3章:Easy_Buy电子商城系统设计。介绍了Easy_Buy电子商城的系统需求分析、系统功能模块设计、系统界面设计、系统主要流程设计、数据库设计和详细设计。
第4章:JSP语法基础。介绍了JSP容器、JSP注释、指令元素、脚本元素和动作 元素。
第5章:JSP内置对象。介绍了out对象、request对象、response对象、pageContext对象、session对象、out对象、application对象、page对象、config对象和exception 对象。
第6章:JSP中访问数据库。介绍了JDBC基础、JDBC API、编写JDBC应用程序的基本流程、数据库的插入操作、数据库的删除操作、数据库的修改操作、数据库查询操作和相关类以及接口。
第7章:JSP中应用JavaBean。介绍了JavaBean基础、编写JavaBean、在JSP中应用JavaBean、JavaBean与HTML表单的交互以及JavaBean的典型应用。
第8章:Servlet技术。介绍了Servlet的基本概念、编写和配置Servlet、调用Servlet、Servlet的生命周期和Servlet的典型应用。
第9章:JSP高级应用。介绍了应用jspSmartUpload组件实现上传和下载、应用JavaMail组件实现电子邮件发送、利用图片处理功能实现彩色验证码和进度条、应用JFreeChart组件绘制统计图形。
第10章:Easy_Buy电子商城实例。介绍了Easy_Buy电子商城主要功能模块的 实现。
第11章:HTML与JavaScript。介绍了静态网页设计技术和JavaScript脚本语言。这一章为选讲内容,如果学生没有网页设计基础,可以在第1章之后选择讲解。
本书由湖南铁道职业技术学院刘志成老师编著,湖南科技大学的吴海波老师,湖南铁道职业技术学院的彭勇、陈承欢和薛志良老师,吉林大学珠海分校的文全刚老师,湖南大众传媒职业技术学院的易灿老师,株洲时菱交通设备有限公司的贺新建工程师和株洲时代电工厂的刘毅红工程师参与了部分章节的编写工作。清华大学出版社张瑜老师对本书的编写提出了许多宝贵的意见,唐志远同学帮助调试了部分代码,在此表示感谢。
本书适用于高职高专计算机类专业“JSP程序设计”课程的教材,也可以作为培训教材使用。由于时间仓促以及编者水平有限,书中难免存在错误和疏漏之处,欢迎广大读者和同仁提出宝贵意见和建议(E-mail:liuzc518@163.com)。
编 者
教学安排建议
序号 教学章节 课时 知识要点与教学重点 1 第1章 2 静态网页与动态网页;网络数据库和Web服务器概念JSP/ASP/ASP.NET/PHP 2 C/S模式与B/S模式 2 第2章 2 JDK的下载、安装和配置;Tomcat的下载、安装和配置 2 JSP开发工具的基本使用;创建第1个JSP程序 3 第3章 2 Easy_Buy系统概述;Easy_Buy系统功能模块设计;Easy_Buy系统流程 2 Easy_Buy系统数据库设计;Easy_Buy系统详细设计 4 第4章 2 JSP注释;JSP脚本元素 2 JSP指令元素;JSP动作元素 5 第5章 2 out对象及其应用;request对象及其应用 2 response对象及其应用;session对象及其应用 2 其他对象(Confit、Page、PageContext、Exception)及其应用;
application对象及其应用;
Cookie 对象及其应用 6 单元实践1 4 电子商城首页;电子商城登录页面;电子商城注册页面 7 第6章 2 JDBC简介;DriverManager;Connection;JDBC-ODBC桥连接数据库;专用JDBC驱动程序连接数据库 2 Statement;ResultSet;检索数据库 2 更新数据库 2 PreparedStatement;使用预编译SQL语句;CallableStatement;
执行存储过程 2 DatabaseMetaData;ResultSetMetaData 2 JSP中分页功能的实现 8 第7章 2 JavaBean 简介;编写JavaBean;JSP中使用JavaBean 2 JavaBean与HTML表单的交互 2 JavaBean在JSP中的典型应用(计数器、访问数据库、购物车) 9 单元实践2 4 利用JavaBean封装数据库操作;利用JavaBean封装购物车操作 10 第8章 2 Servlet的基本概念;第1个Servlet程序 2 编写Servlet;配置Servlet;调用Servlet 2 Servlet读取HTML表单数据;Servlet读取Cookie数据 2 Servlet读取Session数据;Servlet读取HTTP请求头数据
续表
序号 教学章节 课时 知识要点与教学重点 11 第9章 2 利用jspSmartUpload实现文件上传和下载 2 利用JavaMail发送邮件 2 图形处理(彩色验证码、进度条) 2 利用JFreeChart进行数据统计 12 单元实践3 4 利用jspSmartUpload实现商品图片上传;利用JavaMail实现订单发送 13 第10章(选讲) 2 Easy_Buy电子商城实例 14 第11章(选讲) 2 网页的组成;文字与段落;建立超链接 2 使用表格 2 使用框架;使用图片 2 使用表单 2 JavaScript 累计课时 80 15 综合实训 40 网上书城eBook
说明:
* 建议课堂教学全部在多媒体机房内完成,以实现“讲-练”结合。如果条件不允许,可以先讲理论,再以每章节中的【课堂实践】作为实验。
* 建议课堂教学以4个学时为一个教学单元,以实现多次“讲-练”循环。如果条件不允许,也可以2个学时为一个教学单元(每章节中【课堂实践】作为2学时教学单元的结束点)。
II
JSP程序设计案例教程
III
教学安排建议
目 录
第1章 Web技术概述 1
1.1 静态网页与动态网页 1
1.1.1 静态网页 2
1.1.2 动态网页 2
1.2 Web服务器和网络数据库 3
1.2.1 Web服务器 3
1.2.2 网络数据库技术 4
1.3 JSP与ASP/PHP/ASP.NET 4
1.3.1 ASP 4
1.3.2 PHP 5
1.3.3 ASP.NET 5
1.3.4 JSP 5
【课堂实践1-1】 7
1.4 C/S结构与B/S结构 7
1.4.1 C/S结构 7
1.4.2 B/S结构 9
1.4.3 C/S和B/S的比较 9
【课堂实践1-2】 10
本章小结 10
课外拓展 10
第2章 JSP基础知识 12
2.1 JDK安装配置 13
2.1.1 JSP运行环境 13
2.1.2 JDK的下载与安装 13
2.2 Tomcat安装与配置 15
2.2.1 下载Tomcat 15
2.2.2 安装与配置Tomcat 16
2.2.3 启动与停止Tomcat 19
2.2.4 测试Tomcat 19
【课堂实践2-1】 20
2.3 JSP开发工具 20
2.3.1 JCreator 20
2.3.2 Eclipse 22
2.3.3 Dreamweaver 23
2.4 创建第1个JSP程序 23
【课堂实践2-2】 24
本章小结 25
课外拓展 25
第3章 Easy_Buy电子商城系统设计 26
3.1 系统概述 26
3.1.1 前台购物系统 26
3.1.2 后台管理系统 27
3.1.3 系统用例图 28
3.2 系统功能模块设计 28
3.2.1 注册模块 29
3.2.2 登录模块 29
3.2.3 商品展示 29
3.2.4 商品详情 30
3.2.5 购物车 31
3.2.6 订单处理 31
3.2.7 客户反馈 33
3.2.8 后台管理 34
3.3 系统流程 34
【课堂实践3-1】 35
3.4 数据库设计 36
3.4.1 数据库表设计 36
3.4.2 创建数据库和表的SQL
语句 39
3.5 详细设计 41
3.5.1 开发文件夹 41
3.5.2 页面关系图 42
3.5.3 系统使用说明 43
【课堂实践3-2】 43
本章小结 44
课外拓展 44
第4章 JSP语法基础 45
4.1 JSP注释 45
4.1.1 输出注释 45
4.1.2 隐藏注释 46
4.2 JSP脚本元素 47
4.2.1 声明 48
4.2.2 表达式 49
4.2.3 脚本程序 51
【课堂实践4-1】 52
4.3 JSP指令元素 52
4.3.1 Page指令 53
4.3.2 Include指令 55
4.3.3 Taglib指令 56
4.4 JSP动作元素 56
4.4.1 Include动作 57
4.4.2 forward动作 59
4.4.3 param动作 61
4.4.4 plugin动作 62
4.4.5 JavaBean相关动作 63
【课堂实践4-2】 65
本章小结 65
课外拓展 65
第5章 JSP内置对象 67
5.1 out对象 68
5.1.1 out对象常用方法 69
5.1.2 out对象应用实例 69
5.2 request对象 71
5.2.1 request对象常用方法 71
5.2.2 request对象应用实例 72
5.2.3 HTML的响应机制 81
【课堂实践5-1】 84
5.3 response对象 84
5.3.1 response对象常用方法 85
5.3.2 response对象应用实例 85
5.4 session对象 89
5.4.1 session对象常用方法 89
5.4.2 session对象应用实例 90
【课堂实践5-2】 93
5.5 application对象 93
5.5.1 application对象常用方法 93
5.5.2 application对象应用实例 94
5.5.3 对象作用范围 96
5.6 其他对象 97
5.6.1 config对象 97
5.6.2 page对象 98
5.6.3 pageContext对象 98
5.6.4 exception对象 98
5.7 cookie?对象 98
5.7.1 cookie的概念和功能 98
5.7.2 cookie基本操作 99
5.7.3 cookie的应用 100
【课堂实践5-3】 103
本章小结 103
课外拓展 104
单元实践1 104
第6章 JSP中访问数据库 105
6.1 JDBC简介 106
6.2 连接数据库 107
6.2.1 DriverManager 108
6.2.2 Connection 108
6.2.3 JDBC-ODBC桥连接数据库 109
6.2.4 专用JDBC驱动程序连接
数据库 113
【课堂实践6-1】 118
6.3 访问数据库 118
6.3.1 Statement 118
6.3.2 ResultSet 120
6.3.3 检索数据库 122
【课堂实践6-2】 124
6.3.4 更新数据库 124
【课堂实践6-3】 128
6.3.5 PreparedStatement 128
6.3.6 使用预编译SQL语句 129
6.3.7 CallableStatement 132
6.3.8 执行存储过程 133
【课堂实践6-4】 134
6.4 元数据操作 135
6.4.1 DatabaseMetaData 135
6.4.2 ResultSetMetaData 137
【课堂实践6-5】 139
6.5 JSP中分页功能的实现 140
【课堂实践6-6】 145
本章小结 145
课外拓展 145
第7章 JSP中应用JavaBean 146
7.1 JavaBean简介 146
7.2 编写JavaBean 147
7.3 JSP中使用JavaBean 148
7.3.1 <jsp:useBean>操作 149
7.3.2 <jsp:setProperty>操作 149
7.3.3 <jsp:getProperty>操作 150
【课堂实践7-1】 152
7.4 JavaBean与HTML表单的交互 152
【课堂实践7-2】 157
7.5 JavaBean在JSP中的典型应用 157
7.5.1 计数器 157
7.5.2 访问数据库 159
7.5.3 购物车 163
【课堂实践7-3】 166
本章小结 166
课外拓展 166
单元实践2 167
第8章 Servlet技术 168
8.1 Servlet简介 168
8.1.1 Servlet的基本概念 168
8.1.2 第1个Servlet 170
8.2 编写、配置和调用Servlet 171
8.2.1 Servlet常用类与接口 171
8.2.2 Servlet的配置和调用 175
【课堂实践8-1】 176
8.2.3 Servlet的生命周期 176
8.2.4 利用Servlet制作计数器 177
【课堂实践8-2】 179
8.3 Servlet的典型应用 179
8.3.1 Servlet读取HTML
表单数据 179
8.3.2 Servlet读取Cookie数据 184
【课堂实践8-3】 186
8.3.3 Servlet读取Session数据 187
8.3.4 Servlet读取HTTP
请求头数据 189
【课堂实践8-4】 191
本章小结 191
课外拓展 192
第9章 JSP高级应用 193
9.1 文件上传下载 193
9.1.1 jspSmartUpload概述 194
9.1.2 jspSmartUpload常用类 195
9.1.3 文件上传程序 199
9.1.4 文件下载程序 202
【课堂实践9-1】 204
9.2 发送邮件 204
9.2.1 JavaMail概述 204
9.2.2 JavaMail常用类 204
9.2.3 发送邮件程序 205
【课堂实践9-2】 209
9.3 图形处理 209
9.3.1 验证码概述 209
9.3.2 彩色验证码程序 210
9.3.3 进度条概述 215
9.3.4 进度条程序 215
【课堂实践9-3】 221
9.4 数据统计 222
9.4.1 JFreeChart概述 222
9.4.2 圆饼图程序 223
9.4.3 柱状图程序 225
【课堂实践9-4】 227
本章小结 227
课外拓展 227
单元实践3 228
第10章 Easy_Buy电子商城实例 229
10.1 主页模块 230
10.1.1 index.jsp(主页面) 230
10.1.2 title.jsp(标题区域) 230
10.1.3 menu.jsp(分类导航) 231
10.1.4 index_top.jsp(主页上部) 231
10.1.5 index_down.jsp(主页下部) 234
10.1.6 ConnDB.java
(数据库访问Bean) 235
10.2 会员管理模块 237
10.2.1 registry.jsp
(会员注册主页面) 237
10.2.2 reg.jsp(会员注册页面) 238
10.2.3 reg_ok.jsp
(会员注册处理页面) 240
10.2.4 login.jsp(会员登录页面) 242
10.2.5 login_ok.jsp
(登录处理页面) 244
10.3 商品搜索模块 246
10.3.1 select.jsp(商品搜索页面) 246
10.3.2 select_ok.jsp
(搜索处理页面) 247
10.4 购物车模块 249
10.4.1 CartBean.java
(购物车Bean) 249
10.4.2 my_cart.jsp(查看购物车) 251
10.4.3 cart_add.jsp
(购物车添加商品) 254
10.4.4 cart_move.jsp
(购物车删除商品) 254
10.4.5 cart_clear.jsp(清空购物车) 255
10.4.6 cart_checkout.jsp
(提交购物车) 256
10.5 订单模块 260
10.5.1 my_order.jsp(我的订单) 260
10.5.2 my_order_product.jsp
(订单详情) 262
本章小结 264
第11章 HTML与JavaScript 265
11.1 静态网页与HTML 265
11.1.1 网页的组成 266
11.1.2 文字与段落 270
11.1.3 建立超链接 273
【课堂实践11-1】 278
11.1.4 使用表格 279
【课堂实践11-2】 286
11.1.5 使用框架 287
11.1.6 使用图片 290
【课堂实践11-3】 295
11.1.7 使用表单 295
【课堂实践11-4】 301
11.2 JavaScript 302
11.2.1 JavaScript概述 302
11.2.2 表单验证 302
11.2.3 其他常用功能 304
【课堂实践11-5】 308
本章小结 308
课外拓展 308
附录A 综合实训 309
附录B 参考学习网址 315
参考文献 317
VIII
JSP程序设计案例教程
VII