前言
随着Java语言的流行,Java在网站和企业级应用的开发上应用得越来越普遍,Java Web开发已经成为Java企业级解决方案中不可或缺的重要组成部分。
本书遵照最新的Servlet 3.0和JSP 2.2规范,系统、完整地介绍了Java Web开发中的各种技术,从知识的讲解 → 知识的运用 → 实际问题的解决 → Web开发框架 → 程序架构的设计,一步一步地引导读者掌握Java Web开发的知识体系结构。
本书面向的读者
本书面向的读者群包括:
● 毫无Web经验的初学者。
● 具有一定的Web经验,但没有从事过Web开发的读者。
● 具有其他脚本语言Web开发经验,想要快速转向Java Web开发的程序员。
● 正在从事Java Web开发的初中级程序员。
此外,为了照顾到连Java语言都没有掌握的读者,在本书的配套光盘中,提供了一套完整的Java教学视频(价值人民币330元),以帮助读者快速地从Java语言的学习中过渡到Java Web的开发上。也就是说,本书也适合于正准备学习Java语言的读者,通过本书,这些读者可以从学习Java语言开始,一直提升到掌握Java Web开发的企业级应用。
本书的内容组织
全书共分4篇,包括了XML篇、Servlet篇、JSP篇和应用篇。前3篇相对独立,但在内容上又有层进的关系。最后一部分综合应用了前3篇的知识,讲解了一些高级应用,并结合实际开发中要解决的问题,给出了很多具有实用价值的实例程序。
此外,4个附录(见本书配套光盘)作为本书不可或缺的部分,先对HTML和HTTP协议进行了介绍,缺少Web经验的读者可以从前两个附录中学到Web开发的必备知识。另外,后两个附录还提供了server.xml和web.xml文件的介绍,可以作为读者从事Java Web开发的参考。
本书在内容的编排上独具匠心,将知识的连贯性和学习规律有机地组织在一起。本书首先介绍了目前Web开发中很热的XML技术,通过和附录A的HTML知识进行对比学习,读者可以很快地掌握XML。在第1篇中,介绍了下面的内容:
● XML名称空间
● XML Schema
● 解析XML文档
● XSL转换
● 解析名称空间
● XSLT 1.0和XSLT 2.0
本书第2篇是Servlet篇,围绕Servlet讲解了Servlet技术和Servlet的应用。在这部分内容中,还包括下面几个主题:
● Web应用程序的部署
● Servlet访问数据库
● 会话跟踪
● Servlet的异常处理机制
● Servlet的线程安全
读者如果掌握了这部分的内容,就可以开始Web应用程序的开发了。Servlet容器和Servlet部署使用的配置文件都是XML格式,作者经常看到学员由于不了解XML语法而导致配置出错,从而影响程序的运行。也正是因为这种情况的普遍性,因此本书在第1篇就详细讲解了XML,这样读者在配置Web容器和部署Servlet时,就不会因为语法问题而导致运行出错了。同时读者预先掌握了XML语法,对理解配置文件也有好处。
本书第3篇是JSP篇,包括了与JSP相关的各种技术,主要内容有JSP技术、JSP与JavaBean、JSP开发的两种架构模型、自定义标签库、表达式语言、JSTL、标签文件。JSP是建立在Servlet规范提供的功能之上的动态网页技术,读者看完第2篇介绍的Servlet,自然也就能理解JSP了。第3篇的内容非常详尽,不但可以作为学习指南使用,而且可以作为以后工作中的参考手册。
本书第4篇是应用篇,结合前3篇介绍的知识,讲解了一些高级应用,给出了很多具有实用价值的实例程序。主要内容有:
● Servlet监听器
● 过滤器在Web开发中的应用
● 中文乱码问题与国际化
● 开发安全的Web应用程序
● 使用Eclipse开发文件上传和下载
● 给图片添加水印和文字、图像缩放、动态验证码、避免表单重复提交等实例
● 使用Log4j进行日志操作
● 使用Ant辅助Web应用程序开发
● Servlet 3.0新特性详解
● XML与XSLT在Web开发中的应用
这部分内容从应用开发的角度帮助读者提升Java Web开发技能,建立Web开发框架设计的思想。
本书的实例程序
作者在编写本书时,使用的操作系统是Windows XP SP3,Web服务器是Tomcat 7.0.23,JDK版本是1.7.0_01,浏览器是IE 8.0。本书所有的实例程序都在上述环境中运行正常。
本书绝大部分的例子程序,都没有放在Tomcat安装目录的webapps目录下,而是单独放在自定义的一个目录中。读者要运行这些程序,有两种方式:一种方式是直接将光盘中的例子程序目录复制到Tomcat的webapps目录下运行;另一种方式是配置Web应用程序的运行目录,在%CATALINA_HOME%\conf\Catalina\localhost目录下(%CATALINA_HOME%表示Tomcat的安装目录),建立chXX.xml(XX表示每章的序号,例如第5章是ch05.xml,第13章是ch13.xml)文件,编辑这个文件,输入下面的内容:
<Context docBase="F:\JSPLesson\ch07" reloadable="true"/>
将F:\JSPLesson\ch07替换为读者机器上对应章节的Web应用程序所在的目录。
此外,每章例子程序的开发步骤中也给出了详细的配置过程,读者按照步骤操作,会发现配置非常容易。
学习建议
作者针对三种不同类型的读者,提出下面的学习建议。
(1)对HTML和HTTP协议不是很了解的读者:建议从附录A、附录B开始学习,然后从第1章开始学习。在第1章的学习中,要结合附录A,彼此对照,看看XML和HTML之间的异同,加强学习的效果。在学习第2篇的Servlet时,要结合附录B,随时参照,以加深对HTTP Servlet的理解。
(2)对HTML和HTTP协议比较清楚的读者,可以直接从第1章开始学习,按照章节的顺序一步一步进行下去。
(3)有Java Web开发经验的读者,可以选择性地学习本书的内容,并在开发过程中,以本书作为参考用书。
由于第1篇的第9章(XSLT 1.0)和第10章(XSLT 2.0)内容较多,而且有一定的难度,所以在这里建议读者在学习第34章(即最后一章)之前,再回过头学习这两章。当然,对于能够理解这一章内容的读者,学习的次序也就不重要了。
本书的配套光盘说明
本书的配套光盘提供了三部分的内容:本书所有实例的代码、价值人民币330元的Java教学视频(Flash格式)、附录。
1.实例代码
配套光盘中的实例代码是按照章节的顺序提供的,例如,第7章的例子程序位于光盘的Code\ch07目录下。某些章节的例子程序运行需要配置依赖的软件或开发包,请参见各章的内容。对于书中用到的软件和开发包,可通过百度或者程序员之家查找并下载(www.phome.asia或www.sunxin.org)。
2.Java教学视频
本套教学视频由作者本人录制,市场定价为人民币330元。为了帮助广大Java爱好者能够快速地步入Java企业级的开发,作者花费了大量的时间和精力将AVI格式的视频转换为Flash格式,免费提供给读者使用,希望读者能够从中受益。
这套视频的内容简介如下。
3.附录
由于图书容量的问题,为了降低本书的购买费用,附录4个章节以PDF文件的格式放到了光盘上。
进一步学习的建议
读者在掌握本书的内容后,可以再花一到两个月的时间学习某种Web开发框架,如Struts 2(可参看本书作者编著的《Struts 2深入详解》,电子工业出版社出版),以及某种对象-关系映射工具,如Hibernate,轻量级的Java EE框架:Spring。在掌握这些内容后,读者就可以去公司从事Java企业级的开发了。
关于漫画头像
封面的漫画头像由王裕民绘制,在此表示感谢。
最后,衷心地祝愿读者能够从此书获益,从而实现自己的开发梦想。由于本书的内容较多、牵涉的技术较广,错误和疏漏之处在所难免,欢迎广大技术专家和读者指正。作者的联系方式是csunxin@sina.com,读者也可以登录程序员之家网站发表意见,网址是:www.phome.asia或者www.sunxin.org。