JSP+Servlet+Tomcat应用开发从零开始学(第2版)

/ 书籍 / 0 条评论 / 556浏览 / 我要评论

下载

电子版仅供预览及学习交流使用,下载后请24小时内删除,支持正版,喜欢的请购买正版书籍

封页

封页

编辑推荐

随着Java Web开发快速发展,所使用的技术也逐渐更新,为了方便读者学习*技术,本书进行了相应的升级与改变。JDK的版本更新为10.0.1,Servlet升级到4.0,并增加了相应的章节和内容,例如Servlet动态注入的原理等,网页语言的规范升级到了HTML5,JSP版本由1.2升级到2.3,Tomcat服务器由Tomcat7改为Tomcat9,并且将开发工具由MyEclipse变更为时下流行的Intellij IDEA。MySQL数据库也由MySQL 5.X修订为8.X。全书的更新都是为了让读者跟上当下技术发展的步伐,希望读者也不要停下学习的脚步,努力向前。

内容简介

本书全面介绍了JSP开发中涉及的相关技术要点和实战技巧。全书结构清晰,难度循序渐进,结合丰富的示例使零基础的读者能够熟练掌握JSP的开发、部署以及优化。 本书分为3篇:第1篇为Java Web基础开发,内容包括搭建Java Web开发环境、JSP基础语法、JSP内置对象、Servlet技术、请求与响应、会话管理、Servlet进阶API、过滤器、监听器等;第2篇为Java Web高级开发,内容包括MySQL 8数据库开发、JSP与Java Bean、EL标签、JSTL标签库、自定义标签、JDBC详解、XML概述、资源国际化等;第3篇为Java Web实战,内容包括两个典型的系统,即家校通门户网站(JSP HTML CSS)、在线购物系统(JSP Java Bean MySQL)。 本书内容精练、结构清晰、注重实战,适合广大Java Web初学人员学习,同时也非常适合大中专院校师生学习阅读,还可作为高等院校计算机及相关专业的教材使用。

作者简介

林龙,Java软件工程师,项目经理。独立编写超过100000行代码,多年的JSP Servlet以及SSM架构项目经验,擅长JSP、Servlet、JDBC、XML等Web开发技术。有面向大数据大并发的Web工程开发经验,参与开发过国家电网项目、联通数据管理、税务后台管理系统等多个大型Java Web项目。

目 录

目  录
第1章  搭建Java Web开发环境    1
1.1  Web开发背景知识    1
1.1.1  Web访问的基本原理    1
1.1.2  超文本传输协议    1
1.1.3  静态网页和动态网页    2
1.1.4  Web浏览器和Web服务器    3
1.2  JSP简介    4
1.2.1  什么是JSP    4
1.2.2  JSP的优势    4
1.2.3  JSP的执行顺序    5
1.2.4  一个JSP的简单实例    5
1.3  安装Java 10环境    6
1.3.1  下载JDK10和配置环境变量    6
1.3.2  下载Intellij IDEA开发工具    8
1.3.3  下载安装Tomcat 9服务器    10
1.4  小结    12
1.5  习题    12
第2章  JSP基础语法:与编写HTML一样容易    13
2.1  JSP注释    13
2.2  JSP声明    15
2.3  JSP表达式    17
2.4  JSP指令    18
2.4.1  与页面属性相关的page指令    18
2.4.2  引入文件的include指令    19
2.4.3  与标签相关的taglib指令    21
2.5  JSP动作    24
2.5.1  jsp:include动作    24
2.5.2  jsp:forward动作    26
2.5.3  jsp:param动作    27
2.6  小结    31
2.7  习题    31
第3章  JSP内置对象    32
3.1  request对象    32
3.1.1  request对象的常用方法    32
3.1.2  使用request对象接收请求参数    33
3.1.3  请求中文乱码的处理    35
3.1.4  获取请求的头部信息    36
3.1.5  获取主机和客户机的信息    38
3.2  response对象    39
3.2.1  response对象的常用方法    39
3.2.2  设置头信息    39
3.2.3  设置页面重定向    42
3.3  session对象    44
3.3.1  获取session ID    44
3.3.2  用户登录信息的保存    48
3.4  application对象    52
3.4.1  application对象的常用方法    53
3.4.2  获取指定页面的路径    53
3.4.3  设计一个网站计数器    54
3.5  out对象    55
3.5.1  out对象的常用方法    55
3.5.2  out对象的使用示例    55
3.6  page对象    57
3.6.1  page对象的常用方法    57
3.6.2  page对象的使用示例    58
3.7  config对象    59
3.7.1  config对象的常用方法    59
3.7.2  config对象的使用示例    59
3.8  小结    60
3.9  习题    61

第4章  Servlet技术    62
4.1  Servlet是什么    62
4.2  Servlet的技术特点    63
4.3  Servlet的生命周期    64
4.4  编写和部署Servlet    67
4.4.1  编写Servlet类    67
4.4.2  部署Servlet类    71
4.5  Servlet与JSP的比较    72
4.6  小结    73
4.7  习题    74
第5章  请求与响应    75
5.1  从容器到HttpServlet    75
5.1.1  Web容器用来做什么    75
5.1.2  令人茫然的doXXX()方法    77
5.2  关于HttpServletRequest对象    78
5.2.1  使用getReader()、getInputStream()读取Body内容    78
5.2.2  使用getPart()、getParts()取得上传文件    82
5.2.3  使用RequestDispatcher调派请求    86
5.3  关于HttpServletResponse    91
5.3.1  使用getWriter()输出字符    91
5.3.2  使用getOutputStream()输出二进制字符    94
5.3.3  使用sendRedirect()、sendError()方法    95
5.4  综合练习    98
5.4.1  实现网站注册功能    99
5.4.2  实现网站登录功能    104
5.5  小结    107
5.6  习题    107
第6章  会话管理    108
6.1  会话管理的基本原理    108
6.1.1  使用隐藏域    108
6.1.2  使用Cookie    108
6.1.3  使用URL重写    109
6.2  HttpSession会话管理    110
6.2.1  使用HttpSession管理会话    110
6.2.2  HttpSession管理会话的原理    112
6.2.3  HttpSession与URL重写    113
6.2.4  HttpSession中禁用Cookie    113
6.2.5  HttpSession的生命周期    114
6.2.6  HttpSession的有效期    115
6.3  HttpSession会话管理实例演示    115
6.4  小结    117
6.5  习题    117
第7章  Servlet进阶API、监听器与过滤器    118
7.1  Servlet进阶API    118
7.1.1  Servlet、ServletConfig与GenericServlet    118
7.1.2  使用ServletConfig    121
7.1.3  使用ServletContext    124
7.2  应用程序事件、监听器    126
7.2.1  ServletContext事件、监听器    127
7.2.2  HttpSession事件监听器    130
7.2.3  HttpServletRequest事件、监听器    135
7.3  过滤器    138
7.3.1  过滤器的概念    139
7.3.2  实现与设置过滤器    139
7.3.3  请求封装器    141
7.3.4  响应封装器    144
7.4  异步处理    153
7.4.1  AsyncContext简介    153
7.4.2  模拟服务器推送    156
7.5  Registration 动态注入的基础    160
7.6  小结    161
7.7  习题    161
第8章  MySQL 8数据库开发    162
8.1  MySQL数据库入门    162
8.1.1  MySQL的版本特点    162
8.1.2  MySQL 8的安装和配置    163
8.2  启动MySQL服务并登录数据库    170
8.2.1  启动MySQL服务    170
8.2.2  登录MySQL数据库    171
8.3  MySQL数据库的基本操作    173
8.3.1  创建数据库    173
8.3.2  删除数据库    174
8.3.3  创建数据库表    175
8.3.4  修改数据库表    176
8.3.5  修改数据库表的字段名    177
8.3.6  删除数据表    177
8.4  MySQL数据库的数据管理    178
8.4.1  插入数据    178
8.4.2  修改数据    179
8.4.3  删除数据    180
8.5  小结    180
8.6  习题    181
第9章  JSP与Java Bean    182
9.1  Java Bean的基本概念    182
9.2  JSP中使用Bean    183
9.3  访问Bean属性    185
9.3.1  设置属性:jsp:setProperty    185
9.3.2  取得属性:jsp:getProperty    190
9.4  Bean的作用域    191
9.5  用户登录验证    197
9.6  DAO设计模式    201
9.6.1  DAO设计模式简介    201
9.6.2  DAO命名规则    202
9.6.3  DAO开发    202
9.6.4  JSP调用DAO    209
9.7  小结    212
9.8  习题    212
第10章  EL标签:给JSP减负    213
10.1  EL标签语法    213
10.2  EL标签的功能    214
10.3  EL标签的操作符    217
10.4  EL标签的隐含变量    219
10.4.1  隐含变量pageScope、requestScope、sessionScope、applicationScope    219
10.4.2  隐含变量param、paramValues    219
10.4.3  其他变量    220
10.5  禁用EL标签    222
10.5.1  在整个Web应用中禁用    222
10.5.2  在单个页面中禁用    223
10.5.3  在页面中禁用个别表达式    223
10.6  小结    223
10.7  习题    223
第11章  JSTL标签库    224
11.1  JSTL标签概述    224
11.1.1  JSTL的来历    224
11.1.2  一个标签实例带你入门    225
11.2  JSTL的core标签库    226
11.2.1  <c:set>标签与<c:out>标签    226
11.2.2  <c:if>标签    226
11.2.3  <c:choose>标签、<c:when>标签、<c:otherwise>标签    227
11.2.4  <c:set>标签    229
11.2.5  <c:forEach>标签    229
11.2.6  <c:forTokens>标签    230
11.2.7  <c:remove>标签    231
11.2.8  <c:catch>标签    231
11.2.9  <c:import>标签与<c:param>标签    231
11.2.10  <c:redirect>标签    232
11.2.11  <c:url>标签    232
11.3  JSTL的fmt标签库    233
11.3.1  国际化标签    233
11.3.2  消息标签    233
11.3.3  数字和日期格式化标签    236
11.4  JSTL的fn标签库    239
11.4.1  fn:contains()函数与fn: containsIgnoreCase()函数    239
11.4.2  fn:startsWith()函数与fn:endsWith()函数    240
11.4.3  fn:escapeXml()函数    240
11.4.4  fn:indexOf()函数与fn:length()函数    240
11.4.5  fn:split()函数与fn:join()函数    241
11.5  JSTL的SQL标签库    241
11.5.1  sql:setDateSource标签    242
11.5.2  sql:query标签    242
11.5.3  sql:update标签    243
11.5.4  sql:dateParam标签与sql:param标签    243
11.5.5  sql:transaction标签    245
11.6  JSTL的XML标签库    246
11.6.1  <x:parse>标签    246
11.6.2  <x:out>标签    247
11.6.3  <x:forEach>标签    247
11.6.4  <x:if>标签    248
11.6.5  <x:choose>标签、<x:when>标签、<x:otherwise>标签    248
11.6.6  <x:set>标签    248
11.6.7  <x:transform>标签    249
11.7  小结    249
11.8  习题    249
第12章  自定义标签    251
12.1  编写自定义标签    251
12.1.1  版权标签    251
12.1.2  tld标签库描述文件    253
12.1.3  TagSupport类简介    255
12.1.4  带参数的自定义标签    256
12.1.5  带标签体的自定义标签    259
12.1.6  多次执行的循环标签    262
12.1.7  带动态属性的自定义标签    264
12.2  嵌套的自定义标签    265
12.2.1  实例:表格标签    265
12.2.2  嵌套标签的配置    267
12.2.3  嵌套标签的运行效果    268
12.3  JSP 2.X标签    269
12.4  小结    272
12.5  习题    272

第13章  JDBC详解    273
13.1  JDBC简介    273
13.1.1  查询实例:列出人员信息    273
13.1.2  各种数据库的连接    276
13.2  MySQL的乱码解决方案    277
13.2.1  从控制台修改编码    277
13.2.2  从配置文件修改编码    278
13.2.3  利用图形界面工具修改编码    279
13.2.4  在URL中指定编码方式    279
13.3  JDBC基本操作:CRUD    279
13.3.1  查询数据库    280
13.3.2  插入人员信息    280
13.3.3  注册数据库驱动    285
13.3.4  获取自动插入的ID    285
13.3.5  删除人员信息    285
13.3.6  修改人员信息    286
13.3.7  使用PreparedStatement    292
13.3.8  利用Statement与PreparedStatement批处理SQL    293
13.4  结果集的处理    295
13.4.1  查询多个结果集    295
13.4.2  可以滚动的结果集    295
13.4.3  带条件的查询    295
13.4.4  ResultSetMetaData元数据    300
13.4.5  直接显示中文列名    301
13.5  小结    302
13.6  习题    302
第14章  XML概述    303
14.1  初识XML    303
14.1.1  什么是XML    303
14.1.2  XML的用途    304
14.1.3  XML的技术架构    304
14.1.4  XML开发工具    305
14.2  XML基本语法    306
14.3  JDK中的XML API    309
14.4  最常见的XML解析模型    310
14.4.1  DOM解析    310
14.4.2  SAX解析    313
14.4.3  DOM4j解析    315
14.5  XML与Java类映射JAXB    318
14.5.1  什么是XML与Java类映射    318
14.5.2  JAXB的工作原理    319
14.5.3  将Java对象转化成XML    319
14.5.4  将XML转化为Java对象    321
14.5.5  更为复杂的映射    322
14.6  小结    325
14.7  习题    326
第15章  资源国际化    327
15.1  资源国际化简介    327
15.2  资源国际化编程    327
15.2.1  资源国际化示例    328
15.2.2  资源文件编码    329
15.2.3  显示所有Locale代码    330
15.2.4  带参数的资源    331
15.2.5  ResourceBundle类    332
15.2.6  Servlet的资源国际化    334
15.2.7  显示所有Locale的数字格式    335
15.2.8  显示全球时间    337
15.3  小结    338
15.4  习题    339
第16章  家校通门户网站    340
16.1  网页首页的布局    340
16.2  导入样式页面    341
16.3  显示页面头内容    342
16.4  用户登录页面    342
16.5  帮助页面    343
16.6  网页主体内容    343
16.7  网页公告内容    345
16.8  友情链接页面    346
16.9  网页底部的版权信息内容    347
16.10  家校通门户网站预览效果    347
16.11  小结    347
第17章  在线购物系统    349
17.1  系统需求分析    349
17.2  系统总体架构    350
17.3  数据库设计    351
17.3.1  E-R图    351
17.3.2  数据物理模型    351
17.4  系统详细设计    352
17.4.1  系统包的介绍    352
17.4.2  系统的关键技术    353
17.4.3  过滤器    359
17.5  系统首页与公共页面    360
17.6  用户登录模块    362
17.7  用户管理模块    363
17.7.1  用户注册    363
17.7.2  用户信息修改    367
17.7.3  用户信息查看    369
17.7.4  用户密码修改    370
17.8  购物车模块    372
17.8.1  添加购物车    372
17.8.2  删除购物车    375
17.8.3  查看购物车    375
17.8.4  修改购物车    377
17.9  商品模块    380
17.9.1  查看商品列表    380
17.9.2  查看单个商品    384
17.10  支付模块    384
17.10.1  支付商品    384
17.10.2  查看已支付商品    385
17.10.3  支付中的页面    386
17.11  小结    388


前 言

前  言





本书是面向Java Web从零开始学开发的一本高质量图书。Java是当今程序开发中最流行的编程语言之一,不但可以开发手机应用、桌面应用,而且越来越多地用于Java Web开发中。Java优越的跨平台特性使其备受追捧。近年来,Java Web框架技术层出不穷,跨浏览器、跨系统等要求更加体现了Java Web开发的强大生命力。
目前,有关Java Web的书籍非常多,初学者常常不知道应该如何选择参考书。本书从初学者的角度出发,用浅显的实例说明复杂的知识点,为那些想在Java Web开发中大展拳脚的开发人员精心编写,所讲内容符合当下的技术主流,并从实战的角度进行讲解,以便让想要学习Java Web编程的开发人员快速掌握技术并能够根据需求开发出有用的Web应用。

与其他书的区别
1.内容丰富,知识全面
全书采用从易到难、循序渐进的方式讲解,内容几乎涉及Java Web基础开发的各个方面。本书将涉及Servlet 3.0以及4.0版本中的知识与编写规范,并利用详细的实例进行说明。
2.循序渐进,由浅入深
为方便读者学习,本书首先介绍如何搭建Java Web开发的基础环境,然后介绍JSP的基础语法与Servlet基本概念。在掌握这些基础之后,逐渐学习请求与响应的过程、如何管理会话、Servlet 3.0以上的版本中进阶API以及过滤器、监听器、自定义标签的编写等,从而更深入地掌握Java Web开发技术。
3.编码规范,讲解详细
书中每个知识点都给出了详尽的操作示例,以供读者参考,并对代码进行详细解释。实例中的代码是严格按照Java规范进行编写的,并配有详细的代码注释。
本书有配套的视频讲解,有针对性地讲解知识点,剖析代码结构,并且演示开发工具的操作和项目代码的运行,更有效地解答学习者在学习过程中遇到的疑问,提高学习效率。
4.易学易用,案例丰富
本书通过简单的实例讲解每个知识点,力求用最简单的实例来诠释复杂的知识,使读者快速了解并掌握Web开发所需的知识。对于各种语法基本都配有一个实例来说明其用法。
5.案例精讲,图文并茂
对于比较难理解的知识点,编者用图表的方式进行讲解,让读者更加直观地理解知识点。根据编者多年的项目经验,每章中尽量用一个综合示例对知识点进行整合,使读者对每章的知识点有个整体把握。

进阶路线
本书共3篇,主要内容如下:
?    第1篇(第1~7章)Java Web基础开发:讲述如何搭建Java Web开发环境、JSP基础语法、JSP内置对象、Servlet技术、请求与响应、会话管理、Servlet进阶API、过滤器、监听器、动态注入等基础知识。
?    第2篇(第8~15章)Java Web高级开发:讲述MySQL数据库开发、JSP与Java Bean、EL标签用法、JSTL标签库、自定义标签、JDBC详解、XML概述、资源国际化等Java Web高级开发所需的知识。
?    第3篇(第16~17章)Java Web实战:讲述如何运用Java Bean、MySQL、JSP技术以及标签开发家校通门户网站和带数据库的在线购物系统,使读者能够快速掌握Java Web开发技术和编写规范。

第2版修订说明
随着Java Web开发快速发展,所使用的技术也逐渐更新,为了方便读者学习最新技术,本书对第1版进行了相应的升级与改变。JDK的版本更新为10.0.1,Servlet升级到4.0,并增加了相应的章节和内容,例如Servlet动态注入的原理等,网页语言的规范升级到HTML5,JSP版本由1.2升级到2.3,Tomcat服务器由Tomcat7改为Tomcat9,并且将开发工具由MyEclipse变更为时下流行的Intellij IDEA。MySQL数据库也由MySQL 5.X修订为8.X。全书的更新都是为了让读者跟上当下技术发展的步伐,希望读者也不要停下学习的脚步,努力向前。

示例代码下载
本书示例源代码下载地址可扫描下面的二维码获得。如果有问题,请联系,邮件主题为“JSP Servlet Tomcat(第2版)”。
 

本书适合的读者
?    JSP开发入门者与JSP开发爱好者
?    Java Web工程师
?    从事Web系统开发的人员
?    大中专院校的学生
本书第1版本由林龙主笔,第2版本由刘华贞修订整理,其他创作人员还有吴贵文、薛淑英、董山海,在此表示感谢。


编者
2019年2月

返回顶部
顶部