
本书系统地讲解JSP程序设计涉及的基本语法,并以在线图书销售平台项目贯穿始终,真正做到项目驱动。全书共10章,内容包括Java Web编程基础、在线图书销售平台项目案例设计、Java数据库编程技术、Bootstrap前端技术及应用、JSP基本语法详解、JSP内置对象详解、EL表达式和JSTL标签、MVC模式和Servlet技术详解、过滤器和监听器、Ajax技术简介及应用。本书提供配套电子课件。
前 言 《JSP程序设计实例教程》(第1版)是我们在多年的教学积累和实践经验的基础上编写而成的,出版后得到了我们学校和诸多兄弟院校的教学实践检验,收到了良好的反馈和建设性意见。 《JSP程序设计实例教程》是以项目实现为主线编写的,首先在“第2章在线图书销售平台项目案例设计”中对该项目进行设计,然后在其他章节中,利用各章所学完成项目的各个功能。这样的设计使本书的教学真正做到了项目驱动,使学生可以即学即用,提高学生学习的积极性。 众所周知,软件编程技术更新换代很快,目前在实现本书“在线图书销售平台”项目时,最佳的实现方案是前台使用流行框架技术(如Bootstrap框架),而后台则结合Ajax异步通信技术来实现,这样不但能让前台页面更加美观,还能让后台的交互处理功能更加强大。第1版在2017年成书时,书中项目的前台仍然使用传统的HTML+CSS实现,后台也没有用目前比较流行的Ajax技术,书中项目的实现技术已经落后于目前主流技术了,因此对书中项目进行升级是非常有必要的。 因为本书的特色是项目驱动,所以项目的升级必然要求更新书中内容。本书(第2版)对第1版的内容做了很多修改:第2章案例设计中相关功能介绍内容的修改;第4章前台页面实现技术内容的修改;第5~9章中应用实例小节内容的修改,以及Ajax技术内容的修改等;在第1章中加入了HTML及XML基础知识的介绍内容。 本书共10章,内容包括Java Web编程基础、在线图书销售平台项目案例设计、Java数据库编程技术、Bootstrap前端技术及应用、JSP基本语法详解、JSP内置对象详解、EL表达式和JSTL标签、MVC模式和Servlet技术详解、过滤器和监听器、Ajax技术简介及应用。在各章语法知识点介绍中引用了相关的案例,将复杂的知识点寓于案例中,力求做到案例教学。在每章的最后都附有习题,用于检验学习效果和巩固本章所学内容。第2版仍然是项目驱动的,并且能够更加适应目前技术的发展,更加满足学生学习的需要。 本书既可作为普通院校计算机及信息工程或相关专业本科生的教材或参考书,也可供相关领域的读者参考。本书的参考教学时数在72学时以内。 本书提供配套电子课件,读者可登录华信教育资源网(http://www.hxedu.com.cn)注册并免费下载,也可联系本书编辑(010-88254113,wangxq@phei.com.cn)索取。 本书由谷志峰、李同伟任主编,负责全书统稿;由琚伟伟任副主编。具体分工为:第3章、第4章、第5章、第6章、第7章、第8章由谷志峰负责编写;第1章、第2章由李同伟负责编写;第9章、第10章由琚伟伟负责编写。 本书的出版得到了河南科技大学软件学院及教务处的大力支持,软件学院2017级、2018级、2019级同学在使用过程中提出了很多宝贵的意见。在此,我们一并表示衷心的感谢。 尽管在编写本书过程中,我们本着科学严谨的态度,力求精益求精,但错误、疏忽之处在所难免,敬请广大读者批评指正。 编 者
目 录 第1章 Java Web编程基础 1 1.1 JSP简介 1 1.2 JSP工作原理 1 1.3 JSP程序体系结构 2 1.3.1 比较C/S结构与B/S结构 2 1.3.2 三层架构 4 1.3.3 两层架构 5 1.4 HTML和CSS简介 5 1.4.1 HTML基础 5 1.4.2 CSS基础 13 1.5 XML基础简介 18 1.5.1 XML概述 18 1.5.2 XML语法 19 1.5.3 DTD约束 22 1.5.4 Schema约束 25 1.6 搭建JSP的运行环境 28 1.6.1 JDK的安装与配置 28 1.6.2 Tomcat的安装、运行与目录结构 30 1.6.3 开发工具的选择 34 1.7 第一个JSP应用 35 1.7.1 创建JSP页面 35 1.7.2 运行JSP程序 38 习题1 40 第2章 在线图书销售平台项目案例设计 41 2.1 系统需求分析 41 2.1.1 系统需求及权限分析 41 2.1.2 系统功能详细介绍 41 2.2 数据库设计 46 2.2.1 数据库设计的三大范式 46 2.2.2 数据表结构详细介绍 48 2.3 系统编写要求及分工 52 2.3.1 系统总体架构 52 2.3.2 系统分工及要求 52 习题2 53 第3章 Java数据库编程技术 54 3.1 常用数据库 54 3.1.1 Oracle数据库 54 3.1.2 MySQL数据库 55 3.2 JDBC技术 56 3.2.1 JDBC简介 56 3.2.2 JDBC驱动程序 56 3.3 数据库操作常用接口 57 3.3.1 驱动程序接口Driver 57 3.3.2 驱动程序管理器DriverManager类 57 3.3.3 数据库连接接口Connection 58 3.3.4 执行SQL语句接口Statement 58 3.3.5 执行动态SQL语句接口PreparedStatement 58 3.3.6 执行存储过程接口CallableStatement 58 3.3.7 访问结果集接口ResultSet 58 3.4 Java数据库操作技术 59 3.4.1 加载驱动 59 3.4.2 建立连接 60 3.4.3 执行SQL语句 61 3.4.4 获取结果集 64 3.4.5 关闭资源 65 3.5 Dao模式 65 3.6 Java单元测试技术 70 3.7 应用实例 72 3.7.1 浏览图书信息功能数据层代码 72 3.7.2 浏览图书明细信息功能数据层代码 74 习题3 76 第4章 Bootstrap前端技术及应用 78 4.1 Bootstrap概述 78 4.1.1 Bootstrap简介 78 4.1.2 Bootstrap特点 78 4.1.3 Bootstrap下载及使用 79 4.1.4 第一个Bootstrap程序 79 4.2 布局容器和栅格系统 80 4.2.1 布局容器 80 4.2.2 栅格系统 81 4.3 常用CSS样式 83 4.3.1 排版 83 4.3.2 表格 87 4.3.3 表单 89 4.4 Bootstrap常用组件 94 4.4.1 下拉菜单 94 4.4.2 导航 95 4.4.3 分页 96 4.5 应用实例 97 习题4 105 第5章 JSP基本语法详解 106 5.1 JSP程序的基本结构 106 5.2 JSP指令 106 5.2.1 page指令 107 5.2.2 include指令 108 5.2.3 taglib指令 111 5.3 JSP脚本程序 111 5.4 JSP表达式 114 5.5 JSP声明标识 117 5.6 JSP注释 118 5.7 JSP标准动作简介 119 5.7.1 jsp:include动作 119 5.7.2 jsp:forward动作 120 5.7.3 操作JavaBean用到的三个标准动作 121 5.8 应用实例 126 5.8.1 实现浏览图书类别功能 126 5.8.2 实现浏览图书信息功能 129 习题5 133 第6章 JSP内置对象详解 135 6.1 内置对象简介 135 6.2 out对象 135 6.3 request对象 137 6.3.1 请求方式简介 137 6.3.2 接收请求参数 138 6.3.3 request属性管理 146 6.4 response对象 147 6.4.1 实现重定向页面 147 6.4.2 处理HTTP文件头 148 6.4.3 设置输出缓冲区 149 6.5 session对象 149 6.5.1 session对象的特点和概念 149 6.5.2 session对象的常用方法介绍 151 6.6 application对象 159 6.7 cookie技术 161 6.7.1 cookie使用初步 162 6.7.2 cookie使用进阶 163 6.8 其他内置对象 165 6.9 应用实例 166 6.9.1 登录功能 166 6.9.2 注册功能 170 习题6 176 第7章 EL表达式和JSTL标签 178 7.1 EL表达式 178 7.1.1 EL表达式的概念及用法 178 7.1.2 EL隐藏对象 180 7.2 JSTL入门 183 7.2.1 JSTL概述 183 7.2.2 JSTL用法 184 7.3 JSTL常用标签 185 7.3.1 表达式操作标签 185 7.3.2 条件标签 187 7.3.3 迭代标签 189 7.4 JSTL其他标签 191 7.4.1 URL标签相关 191 7.4.2 国际化格式标签简介 192 7.5 应用实例 193 习题7 202 第8章 MVC模式和Servlet技术详解 203 8.1 MVC模式 203 8.1.1 JSP程序开发模式 203 8.1.2 MVC模式 204 8.2 Servlet简介 205 8.2.1 Servlet概述 205 8.2.2 Servlet生命周期 206 8.3 Servlet创建及使用 210 8.3.1 Servlet创建 210 8.3.2 Servlet实现请求转发和重定向 213 8.3.3 Servlet接收get/post请求 215 8.4 Servlet获取初始化参数及上下文参数 217 8.4.1 获取初始化参数 217 8.4.2 获取上下文参数 218 8.5 Servlet获取JSP内置对象 219 8.5.1 Servlet获得JSP中的out对象 219 8.5.2 Servlet获得JSP中的request对象 219 8.5.3 Servlet获得JSP中的response对象 220 8.5.4 Servlet获得JSP中的session对象 220 8.5.5 Servlet获得JSP中的application对象 222 8.6 Servlet中的异常处理 225 8.7 应用实例 226 8.7.1 购物车添加 230 8.7.2 购物车移除 233 8.7.3 购物车更新 235 习题8 236 第9章 过滤器和监听器 238 9.1 过滤器 238 9.1.1 过滤器概述 238 9.1.2 过滤器的生命周期 238 9.1.3 过滤器的创建和使用 240 9.1.4 过滤器链 242 9.1.5 利用过滤器实现禁用IP问题 245 9.2 监听器 246 9.2.1 监听器概述 246 9.2.2 监听器接口简介 247 9.2.3 监听器的创建和使用 248 9.3 过滤器和监听器在JavaEE框架中的运用 249 9.4 应用实例 251 习题9 255 第10章 Ajax技术简介及应用 256 10.1 Ajax概述 256 10.1.1 Ajax简介 256 10.1.2 同步和异步的概念 256 10.1.3 Ajax工作原理 256 10.1.4 Ajax优点和不足 257 10.2 XMLHttpRequest对象详解 257 10.2.1 XMLHttpRequest对象简介 257 10.2.2 XMLHttpRequest对象方法和属性 258 10.3 Ajax程序开发步骤 262 10.3.1 原生Ajax程序开发步骤 262 10.3.2 实现无刷新用户名验证 264 10.4 基于jQuery的Ajax技术 266 10.4.1 基于jQuery的Ajax技术简介 266 10.4.2 实现页面无刷新的用户登录 268 10.5 应用实例 270 10.5.1 数据层的实现 270 10.5.2 表示层的实现 270 习题10 272 参考文献 273
http://www.hxedu.com.cn/hxedu/fg/book/bookinfo.html?code=G0422890