本书以房屋租赁信息发布网站项目为载体,采用任务驱动的教学方法,将JSP的知识点与项目有机融合,内容由浅入深、循序渐进、层次分明,使初学者能够按照书中的任务向导,一步一步地完成学习内容。
全书共分8章,第1章讲述了JSP开发环境的配置和常用开发工具的使用;第2章介绍了HTML基础知识和Web项目配置管理的内容;第3章重点介绍了JSP模板元素、注释、脚本、动作等指令的语法和使用技巧;第4章以JSP隐式对象为主,详细讲解了request、response、session等内建对象的原理和使用方法;第5章介绍了MVC三层开发模式,重点讲解了Servlet的定义与使用,帮助读者建立MVC三层模型开发理念;第6章讲解了EL表达式、JSTL标签等的技术使用,通过使用EL表达式和JSTL标签简化JSP页面编程;第7章主要讲解了Filter过滤器与Listener监听器的功能特性;第8章讲解了JQuery在项目中的应用。
本书可作为应用型本科和高职院校学生的JSP课程教材,也适用于JSP的初学者或有一定基础的读者,其中项目开发设计过程和项目经验对于行业用户也有借鉴作用。本书可作为大中专院校的JSP课程教材,书中完整的项目代码与丰富的数字化资源,会使初学者获得事半功倍的学习效果,同时,书中的任务也可作为初级程序员进行项目开发的参考。
据TIOBE 2019最新统计,全球编程语言排行榜中Java语言继续排在第一位,以Java语言为基础的JSP(Java Server Page)技术仍然广泛应用在Web项目开发中,其快速、安全、高效、跨平台的特性得到了开发者的广泛认可,许多大型商业系统、政府网站、电子商务平台等系统都采用了JSP及其相关技术进行开发。
本书共分8章。第1章重点讲述了JDK、Tomcat等JSP开发环境配置,介绍了MyEclipse和MySQL等工具软件的安装使用,并以房屋租赁信息发布网站项目为例,进行简单需求分析、数据库设计,为后续的项目开发打下基础。第2章结合房屋租赁信息发布网站规划,以HTML基础知识为主,介绍了页面布局设计的常用方法,设计项目网页等静态资源,帮助读者学习规划管理Web项目、配置项目属性、引入外部Jar包等基础操作,进而学习项目的导入与导出等操作。第3章重点介绍了JSP模板元素、注释、脚本、动作等指令的语法和使用技巧,讲解如何在Web项目中设计、使用数据库连接类,编写数据库操作常用工具方法实现对数据的操作。第4章以JSP隐式对象为主,详细介绍了JSP中九种隐式对象的概念、作用域、生命周期和使用方法;按照九种隐式对象的分类,从数据保存、数据输入/输出、导航应用等内容,通过丰富的案例全方位地讲解了隐式对象的具体使用方法,并且归纳了项目开发中常见的问题,提出了关于汉字乱码、导航等问题的解决方案和项目开发经验;通过完成用户登录信息保持和网站主页信息提取功能项目案例,强化了对相关知识技能点的掌握。第5章介绍MVC三层开发模式,重点讲解了如何定义Servlet、Servlet中的常用方法接口以及Servlet的执行加载过程;以丰富的案例讲解了隐式对象在Servlet中的应用,分析了session和Cookie的区别与联系。第6章围绕EL表达式、JSTL标签等技术展开讲解,介绍了如何使用JSTL标签控制页面的显示逻辑,如何使用EL表达式从隐式对象中提取数据,最后讲解了自定义标签的创建和使用。第7章主要围绕Filter过滤器与Listener监听器的功能特性以及常用API方法等内容进行了讲解,通过生动的案例演示了如何创建和配置Filter过滤器与Listener监听器,并应用Filter过滤器与Listener监听器解决项目中的具体功能。第8章结合项目案例的特点有针对性地设计了案例和任务,帮助学习者快速掌握JQuery中的一些常用方法,实现简单、高效完成Web前端开发的任务。
本书通过项目驱动教学,在保证知识体系完整的情况下,更加注重通过案例和任务等形式培养学习者的实践能力。全书围绕JSP相关知识与技能点共计安排了29个案例和24项任务。其中,案例紧扣所讲知识点,短小精练,聚焦知识点对应操作,案例的外延相对较小,使学生利用课堂时间就能完成案例的编写与调试工作;任务围绕章节知识技能点进行设计,具有一定的综合性和扩展性,体现出对本章知识的综合应用,可作为阶段性综合演练或实验课教学内容使用。配合知识讲解在容易出错的地方加有【项目经验】【知识拓展】和【提示】等信息,方便读者学习。本书中的案例和任务全部配有微课视频资源,读者可以使用手机扫描案例和任务旁边的二维码获得对应的微课视频资源。同时,本书也提供了包括项目源代码、PPT教案等在内的数字化资源。
本书由王志勃、任艳、史梦安任主编,郜继红、汪燕和黄丽萍任副主编。其中,第1~3章由王志勃负责编写,第4章由史梦安负责编写,第5章由黄丽萍负责编写,第6章由郜继红和汪燕负责编写,第7、8章由任艳负责编写。六位老师共同完成了本书的项目开发、案例与任务微课录制和其他多媒体资源制作工作。在本书编写过程中得到了淮安信息职业技术学院计算机系有关教师及其他院校同行的大力支持,在此对他们为本书出版做出的努力表示衷心感谢。在本书的编写过程中借鉴了有关参考文献,在此对文献的作者表示诚挚的感谢!
在编写过程中,作者以严谨的态度、科学的方法,对书中每段代码都认真调试、仔细斟酌,力求将最贴切的案例展示给读者,但由于水平有限,疏漏在所难免,敬请各位读者批评指正。作者联系邮箱是373700684@qq.com。我们将虚心接受读者的意见和建议。感谢各位读者选用本书,希望我们的付出能为您的成功提供有益帮助。
第1章 JSP开发环境搭建与项目需求分析 1
1.1 C/S与B/S 1
1.1.1 C/S与B/S开发架构简介 1
1.1.2 C/S与B/S架构的优缺点 2
1.2 JSP项目开发环境配置 2
1.2.1 JSP应用概述 2
1.2.2 JDK的安装与配置 3
1.2.3 Tomcat的安装与认识 7
1.3 MyEclipse开发工具 9
1.4 MySQL数据库的使用 10
1.4.1 MySQL数据库安装 10
1.4.2 MySQL图形化管理工具 13
1.5 第一个Web项目 15
1.5.1 Web项目的创建 15
1.5.2 项目的发布、启动和访问 16
1.6 阶段项目:房屋租赁信息发布网站项目需求分析 18
1.6.1 房屋租赁信息发布网站需求分析 19
1.6.2 数据库设计 19
练习题 21
第2章 Web项目基础知识 22
2.1 Web项目相关知识 22
2.1.1 Web项目结构 22
2.1.2 项目属性配置 25
2.1.3 Java Build Path配置 25
2.1.4 Web Context Root配置 26
2.1.5 项目工作空间与导入导出 27
2.2 web.xml文件 28
2.2.1 定义欢迎页面 29
2.2.2 定义错误页面 29
2.3 Html相关知识 30
2.3.1 HTML中常用标记介绍 30
2.3.2 页面中的JavaScript脚本 33
2.3.3 页面中的CSS样式 34
2.4 阶段项目:房屋租赁信息网站规划 37
2.4.1 项目原型设计 37
2.4.2 静态页面设计 38
2.4.3 利用Table实现页面的布局 40
练习题 50
第3章 JSP基础知识 51
3.1 JSP基础知识 51
3.1.1 JSP页面创建 51
3.1.2 JSP基本语法 53
3.2 JSP动作标签 55
3.2.1 JSP动作标签简介 55
3.2.2 JavaBean及相关动作标签 56
3.2.3 jsp:forward动作标签 61
3.2.4 jsp: include动作标签 63
3.3 JSP中访问数据库 65
3.3.1 项目中数据库连接类的设计 66
3.3.2 PreparedStatement与Statement 69
3.4 JSP执行原理 71
3.5 阶段项目:用户注册与登录 73
3.5.1 用户注册功能的实现 73
3.5.2 用户登录功能的实现 79
练习题 83
第4章 JSP隐式对象及其应用 84
4.1 JSP隐式对象 84
4.1.1 JSP隐式对象简介 84
4.1.2 与数据存储有关的隐式对象 85
4.1.3 与输入输出有关的隐式对象 90
4.2 JSP隐式对象应用中的常见问题 98
4.2.1 发送请求过程中汉字乱码问题 98
4.2.2 页面中的form表单 99
4.2.3 页面中集合类标签数据收集 100
4.3 阶段项目:主页实现与用户信息保持 101
4.3.1 房屋租赁网站主页实现 101
4.3.2 用户信息保持 113
练习题 118
第5章 MVC模式与Servlet 119
5.1 MVC开发模式 119
5.1.1 Web开发模式的演变 119
5.1.2 了解Servlet 121
5.2 Servlet的创建与使用 124
5.2.1 定义一个Servlet 124
5.2.2 Servlet执行过程与生命周期 128
5.2.3 隐式对象在Servlet中的使用 129
5.3 Servlet与Cookie处理 137
5.3.1 Cookie简介 137
5.3.2 Cookie与session的联系与区别 137
5.3.3 Servlet中读写Cookie 138
5.4 阶段项目:使用Servlet完成项目功能 143
5.4.1 使用Servlet改造前期任务 143
5.4.2 使用Servlet完成信息发布功能 151
练习题 155
第6章 EL表达式与JSTL标签 156
6.1 EL表达式 156
6.1.1 EL表达式 156
6.2 JSTL标签 161
6.2.1 标签库简介 161
6.2.2 JSTL核心标签库 163
6.3 自定义标签 170
6.3.1 创建无标记体简单自定义标签 170
6.3.2 创建带标记体的自定义标签 177
6.4 阶段项目:使用EL、JSTL和自定义标签优化项目 181
6.4.1 使用EL、JSTL改造前期任务 181
6.4.2 使用自定义标签实现下拉列表框 187
练习题 192
第7章 Filter与Listener 193
7.1 Filter过滤器 193
7.1.1 Filter工作原理 193
7.1.2 Filter配置过程 195
7.1.3 Filter重定向 198
7.2 Listener监听器 202
7.2.1 Listener作用 202
7.3 阶段项目:过滤器和监听器在项目中的应用 204
7.3.1 过滤器在项目中的应用 204
7.3.2 监听器在项目中的应用 207
练习题 209
第8章 JQuery在项目中的应用 210
8.1 JQuery简介 210
8.2 JQuery选择器 211
8.2.1 JQuery选择器种类 211
8.2.2 常用表单标签数据存取 212
8.2.3 HTML标签数据存取 213
8.2.4 使用JQuery控制页面样式 215
8.3 JQuery事件 217
8.3.1 简单绑定 217
8.3.2 on绑定 219
8.3.3 JQuery中的页面加载事件 219
8.4 JQuery中的ajax()方法 221
8.4.1 ajax()方法 221
8.4.2 JSON数据格式 222
8.5 阶段项目:使用JQuery中的ajax()方法改进项目 222
8.5.1 使用JQuery ajax()方法?+?Servlet实现市区信息加载 222
8.5.2 使用JQuery Ajax方法?+?Servlet实现二级联动效果 228
练习题 232
附录 立体化资源快速定位表 233
参考文献 236