书海网短评:
适读人群:本书不仅可以作为JavaWeb开发的学习用书,还可以作为从事JavaWeb开发的程序员的参考用书和必备手册。 《ServletJSP深入详解——基于Tomcat的Web开发(畅销书升级版)》面向的读者群包
《ServletJSP深入详解——基于Tomcat的Web开发(畅销书升级版)》面向的读者群包括:
毫无Web经验的初学者。
有一定的Web经验,但没有从事过Web开发的读者。
具有其他脚本语言Web开发经验,想要快速转向JavaWeb开发的程序员。
正在从事JavaWeb开发的初、中级程序员。
《ServletJSP深入详解——基于Tomcat的Web开发(畅销书升级版)》共分3篇,分别为Servlet篇、JSP篇及其应用篇,书中展示了JavaWeb开发中各种技术的应用,帮助读者快速掌握JavaWeb开发。
在知识的讲解上,《ServletJSP深入详解:基于Tomcat的Web开发(畅销书升级版)》采用理论与实践相结合的方式,从程序运行的内部机制进行分析讲解,并通过大量的实例和实验来验证并运用《ServletJSP深入详解:基于Tomcat的Web开发(畅销书升级版)》的知识。大部分章节都提供了多个例子,而且很多例子都是目前Web开发中经常使用的,具有相当高的实用价值。
《ServletJSP深入详解——基于Tomcat的Web开发(畅销书升级版)》不仅可以作为JavaWeb开发的学习用书,还可以作为从事JavaWeb开发的程序员的参考用书和必备手册。
孙鑫
IT技术和教育专家,2009年中国教育杰出人物。具有20多年的软件开发和教育培训经验,精通多种程序语言和技术架构,曾主讲过的课程包括C/C++、VC++、COM/DCOM/COM+、SQLServer、Oracle、Java、J2EE、Struts/Struts2、Hibernate、MyBatis、Spring、数据库建模等。2004年曾推出“Java无难事”和“VC++深入编程”教学视频,获得了强烈反响,在网络上掀起了一股视频教学的风潮,数十万名学员通过这两套视频走上了软件开发的道路。从2006年开始,相继出版了畅销技术专著:《JavaWeb开发详解》《VC++深入详解》《Struts2深入详解》《Servlet/JSP深入详解》《XML、XMLSchema、XSLT2.0和XQuery开发详解》《HTML5、CSS和JavaScript开发》。。
Servlet篇
第1章Servlet与Tomcat1
1.1Web技术的发展1
1.2Servlet与Servlet容器3
1.3Servlet容器的分类4
1.4Tomcat简介5
1.5Tomcat的安装与配置6
1.5.1Tomcat的目录结构8
1.5.2运行Tomcat9
1.5.3Tomcat启动分析13
1.6Tomcat的体系结构15
1.7Tomcat的管理程序17
1.8小结19
第2章Servlet技术20
2.1ServletAPI20
2.1.1Servlet接口21
2.1.2ServletRequest和ServletResponse22
2.1.3ServletConfig25
2.1.4一个简单的Servlet25
2.1.5GenericServlet33
2.1.6HttpServlet34
2.1.7HttpServletRequest和HttpServletResponse35
2.2几个实例38
2.2.1实例一:WelcomeServlet38
2.2.2实例二:OutputInfoServlet44
2.2.3实例三:LoginServlet48
2.3Servlet异常53
2.3.1ServletException类53
2.3.2UnavailableException类53
2.4Servlet生命周期54
2.5Servlet上下文56
2.5.1ServletContext接口56
2.5.2页面访问量统计实例58
2.6请求转发62
2.6.1RequestDispatcher接口62
2.6.2得到RequestDispatcher对象63
2.6.3请求转发的实例63
2.6.4sendRedirect()和forward()方法的区别70
2.7小结71
第3章Web应用程序的部署72
3.1配置任意目录下的Web应用程序72
3.2WAR文件75
3.3与Servlet配置相关的元素78
3.3.1元素及其子元素78
3.3.2元素及其子元素80
3.4一个实例82
3.5小结86
第4章数据库访问87
4.1JDBC驱动程序的类型88
4.1.1JDBC-ODBC桥88
4.1.2部分本地API、部分Java驱动程序89
4.1.3JDBC网络纯Java驱动程序89
4.1.4本地协议的纯Java驱动程序89
4.2安装数据库90
4.3下载MySQLJDBC驱动94
4.4JDBCAPI95
4.4.1加载并注册数据库驱动96
4.4.2建立到数据库的连接99
4.4.3访问数据库100
4.4.4事务处理129
4.4.5可滚动和可更新的结果集138
4.5JDBC数据源和连接池140
4.6小结145
第5章会话跟踪146
5.1用于会话跟踪的技术147
5.1.1SSL会话147
5.1.2Cookies148
5.1.3URL重写149
5.2JavaServletAPI的会话跟踪149
5.2.1HttpSession接口150
5.2.2Session的生命周期151
5.2.3Cookie的应用165
5.2.4Session和Cookie的深入研究173
5.3Session的持久化175
5.4小结176
第6章Servlet的异常处理机制177
6.1声明式异常处理178
6.1.1HTTP错误代码的处理178
6.1.2Java异常的处理182
6.2程序式异常处理185
6.2.1在try-catch语句中处理异常185
6.2.2使用RequestDispatcher来处理异常188
6.3小结191
第7章开发线程安全的Servlet192
7.1多线程的Servlet模型192
7.2线程安全的Servlet193
7.2.1变量的线程安全193
7.2.2属性的线程安全202
7.3SingleThreadModel接口206
7.4小结206
JSP篇
第8章JSP技术207
8.1JSP简介207
8.2JSP的运行机制208
8.3JSP的语法213
8.3.1指令元素(directiveelement)213
8.3.2脚本元素(scriptingelement)218
8.3.3动作元素(actionelement)220
8.3.4注释228
8.4JSP的隐含对象229
8.4.1pageContext229
8.4.2out230
8.4.3page231
8.4.4exception231
8.5对象和范围232
8.6留言板程序235
8.7留言板管理程序244
8.8JSP文档250
8.8.1JSP文档的标识251
8.8.2JSP文档中的元素语法251
8.9小结255
第9章JSP与JavaBean256
9.1JavaBean简介256
9.1.1属性的命名257
9.1.2属性的类型259
9.2在JSP中使用JavaBean259
9.2.1260
9.2.2261
9.2.3262
9.2.4示例262
9.3网上书店程序267
9.4小结291
第10章JSP开发的两种模型292
10.1模型1292
10.2模型2296
10.3MVC模式的实现总结303
10.4小结303
第11章标签库(TagLibrary)304
11.1标签库API304
11.1.1标签的形式304
11.1.2Tag接口306
11.1.3IterationTag接口307
11.1.4BodyTag接口309
11.2标签库描述符310
11.2.1元素311
11.2.2元素312
11.2.3元素313
11.2.4元素313
11.2.5元素316
11.2.6元素316
11.3传统标签的开发318
11.3.1实例一:标签318
11.3.2实例二:标签321
11.3.3实例三:标签323
11.3.4实例四:标签326
11.3.5实例五:标签331
11.4简单标签的开发337
11.4.1SimpleTag接口337
11.4.2实例一:标签339
11.4.3实例二:标签341
11.5自定义标签开发总结343
11.6小结343
第12章表达式语言(EL)344
12.1语法344
12.1.1“[]”和“.”操作符344
12.1.2算术操作符345
12.1.3关系操作符346
12.1.4逻辑操作符346
12.1.5Empty操作符346
12.1.6条件操作符346
12.1.7圆括号346
12.1.8操作符的优先级346
12.2隐含对象347
12.3命名变量348
12.4保留的关键字349
12.5函数349
12.6小结351
第13章JSP标准标签库(JSTL)352
13.1JSTL简介352
13.2配置JSTL353
13.3Core标签库354
13.3.1一般用途的标签354
13.3.2条件标签358
13.3.3迭代标签361
13.3.4URL相关的标签364
13.4I18N标签库369
13.4.1国际化标签369
13.4.2格式化标签375
13.5SQL标签库384
13.5.1384
13.5.2385
13.5.3389
13.5.4390
13.5.5390
13.5.6392
13.6XML标签库393
13.6.1核心操作394
13.6.2流程控制397
13.6.3转换操作401
13.7Functions标签库404
13.7.1fn:contains404
13.7.2fn:containsIgnoreCase405
13.7.3fn:startsWith405
13.7.4fn:endsWith406
13.7.5fn:indexOf407
13.7.6fn:replace407
13.7.7fn:substring408
13.7.8fn:substringBefore409
13.7.9fn:substringAfter410
13.7.10fn:split410
13.7.11fn:join411
13.7.12fn:toLowerCase412
13.7.13fn:toUpperCase413
13.7.14fn:trim413
13.7.15fn:escapeXml414
13.7.16fn:length414
13.8小结415
第14章标签文件(TagFiles)416
14.1标签文件的语法416
14.2一个简单的标签文件416
14.3标签文件的隐含对象420
14.4标签文件的指令421
14.4.1tag指令421
14.4.2attribute指令423
14.4.3variable指令423
14.5标签文件实例讲解425
14.5.1实例一:标签425
14.5.2实例二:标签426
14.6动作元素428
14.7动作元素428
14.8小结429
随着Java语言的流行,Java在网站和企业级应用的开发上应用得越来越普遍,JavaWeb开发已经成为Java企业级解决方案中不可或缺的组成部分。
《ServletJSP深入详解:基于Tomcat的Web开发(畅销书升级版)》遵照Servlet和JSP规范,系统、完整地介绍了JavaWeb开发中的各种技术,从知识的讲解→知识的运用→实际问题的解决,一步一步地引导读者掌握JavaWeb开发的知识体系结构。
《ServletJSP深入详解:基于Tomcat的Web开发(畅销书升级版)》面向的读者
《ServletJSP深入详解:基于Tomcat的Web开发(畅销书升级版)》面向的读者群包括:
毫无Web经验的初学者。
有一定的Web经验,但没有从事过Web开发的读者。
具有其他脚本语言Web开发经验,想要快速转向JavaWeb开发的程序员。
正在从事JavaWeb开发的初、中级程序员。
《ServletJSP深入详解:基于Tomcat的Web开发(畅销书升级版)》的内容组织
《ServletJSP深入详解:基于Tomcat的Web开发(畅销书升级版)》共分3篇,包括Servlet篇、JSP篇和应用篇。前两篇相对独立,但在内容上又有递进的关系。最后一个部分综合应用前两个部分的知识,讲解了一些高级应用,并结合实际开发中要解决的问题,给出了很多具有实用价值的实例程序。
附录作为《ServletJSP深入详解:基于Tomcat的Web开发(畅销书升级版)》不可或缺的部分,对HTML和HTTP协议进行了介绍,缺少Web经验的读者可以从这部分内容中学到Web开发的必备知识。此外,附录还提供了server.xml和web.xml文件的介绍,可以作为读者从事JavaWeb开发的参考。
《ServletJSP深入详解:基于Tomcat的Web开发(畅销书升级版)》在内容的编排上独具匠心,将知识的连贯性和学习规律有机地组织在一起。《ServletJSP深入详解:基于Tomcat的Web开发(畅销书升级版)》首先介绍了Servlet技术及其应用,并介绍了Tomcat服务器的体系结构和相关配置。在第一篇中,包括了下面的主题:
Servlet与Tomcat
Servlet技术
Web应用程序的部署
数据库访问
会话跟踪
Servlet的异常处理机制
开发线程安全的Servlet
读者如果掌握了这部分的内容,就可以开始Web应用程序的开发了。
《ServletJSP深入详解:基于Tomcat的Web开发(畅销书升级版)》第二篇是JSP篇,包括了与JSP相关的各种技术。主要内容有JSP技术、JSP与JavaBean、JSP开发的两种架构模型、自定义标签库、表达式语言、JSTL、标签文件。JSP是建立在Servlet规范提供的功能之上的动态网页技术,读者看完第1篇介绍的Servlet,自然也就能理解JSP了。第二篇的内容细致全面,不但可以作为学习资料使用,而且可以作为以后工作中的参考手册。
《ServletJSP深入详解:基于Tomcat的Web开发(畅销书升级版)》第三篇是应用篇,结合前2篇介绍的知识,讲解了一些高级应用,给出了很多具有实用价值的实例程序。主要内容有:
Servlet监听器
过滤器在Web开发中的应用
中文乱码问题与国际化
Web应用程序安全
避免表单重复提交等实例
使用Eclipse开发Web应用程序
Servlet3.0新特性详解
这部分内容从应用开发的角度帮助读者提升JavaWeb开发技能。
《ServletJSP深入详解:基于Tomcat的Web开发(畅销书升级版)》的实例程序
笔者在编写《ServletJSP深入详解:基于Tomcat的Web开发(畅销书升级版)》时,使用的操作系统是Windows8.1专业版,JDK版本是1.8.0_192,Web容器是Tomcat9.0.14,开发工具是EclipseIDEforEnterpriseJavaDevelopers(版本2018-12),数据库是MySQL8.0.13。《ServletJSP深入详解:基于Tomcat的Web开发(畅销书升级版)》所有的实例程序都在上述环境中运行正常。
《ServletJSP深入详解:基于Tomcat的Web开发(畅销书升级版)》绝大部分的例子程序,都没有放在Tomcat安装目录的webapps目录下,而是单独放在自定义的一个目录中。读者要运行这些程序,有两种方式:一种方式是直接将网站上下载的例子程序目录复制到Tomcat的webapps目录下运行;另一种方式是配置Web应用程序的运行目录,在%CATALINA_HOME%\conf\Catalina\localhost目录下(%CATALINA_HOME%表示Tomcat的安装目录),建立chXX.xml(XX表示每章的序号,例如第5章是ch05.xml,第13章是ch13.xml)文件。例如,要配置第5章的例子程序,可以在%CATALINA_HOME%\conf\Catalina\localhost目录下创建ch05.xml文件,编辑这个文件,输入下面的内容:
将“F:\JSPLesson\ch05”替换为读者机器上对应章节的Web应用程序所在的目录。
此外,在每章例子程序的开发步骤中也给出了详细的配置过程,读者按照步骤操作,会发现配置非常容易。
当采用数据源的方式来访问数据库时,你需要将MySQL的JDBC驱动复制到Tomcat安装目录的lib子目录中。
学习建议
作者针对三种不同类型的读者,提出下面的学习建议。
(1)对HTML和HTTP协议不是很了解的读者,建议从附录A、附录B开始学习,然后再从第1章开始学习。在学习第1篇的Servlet时,要结合附录B,随时参照,以加深对HTTPServlet的理解。
(2)对HTML和HTTP协议比较清楚的读者,可以直接从第1章开始学习,按照章节的顺序一步一步进行下去。
(3)有JavaWeb开发经验的读者,可以有选择性地学习《ServletJSP深入详解:基于Tomcat的Web开发(畅销书升级版)》的内容,并在开发过程中,以《ServletJSP深入详解:基于Tomcat的Web开发(畅销书升级版)》作为参考用书。
最后,衷心地祝愿读者能够从此书获益,从而实现自己的开发梦想。由于《ServletJSP深入详解:基于Tomcat的Web开发(畅销书升级版)》的内容较多、牵涉的技术较广,错误和疏漏之处在所难免,欢迎广大技术专家和读者指正。作者的联系方式是csunxin@sina.com。
《ServletJSP深入详解:基于Tomcat的Web开发(畅销书升级版)》代码下载及读者交流
轻松注册成为博文视点社区用户(www.broadview.com.cn),扫码直达《ServletJSP深入详解:基于Tomcat的Web开发(畅销书升级版)》页面。
下载资源:《ServletJSP深入详解:基于Tomcat的Web开发(畅销书升级版)》如提供示例代码及资源文件,均可在“下载资源”处下载。
提交勘误:您对书中内容的修改意见可在“提交勘误”处提交,若被采纳,将获赠博文视点社区积分(在您购买电子书时,积分可用来抵扣相应金额)。
交流互动:在页面下方“读者评论”处留下您的疑问或观点,与我们和其他读者一同学习交流。









