网络的普及使人们的生活发生了很多改变,各种各样的基于Web的系统遍布生活的方方面面,例如,电子商务网站的代表——淘宝、当当、亚马逊、京东; 团购网站的代表——美团、拉手; 搜索引擎类的代表——google、百度; 门户类的网站代表——新浪、雅虎; 社交类的代表——人人、Facebook; 知识分享类的网站代表——知乎。
但是这些网站的建站技术并不完全相同。如果不究细节,Web开发的主流技术笼统地说是这样3个: ASP.NET、PHP、JSP。后两者都是开源阵营中极具代表性的技术。本书主要介绍其中的JSP。虽然笼统地说是JSP,其实它涵盖了一系列技术,并且在演进的过程中,形成了更高层次的封装形式——各种框架。在企业级的开发中,从效率角度出发,使用框架的居多。
本书并不是致力于介绍流行的框架,而是一本入门的书,它不是一本涉及语法方方面面的语法书,放在案头以便时时查阅; 也不是一本高阶提高的书,让你达到一个多么高的水平。它是一本粗浅的入门级的书。
它介绍了Java Web开发最基础的东西,学习Java Web开发没办法回避的问题。它的内容组织模式是这样的,提出一个问题,解决这个问题,引发新的问题,再解决新的问题,始终跟着问题走,最终形成一个相对完整的体系。
它不完备,在有些知识点上甚至是一带而过的。本着这样一个原则,如果当前用不到它,那么就简单掠过,掌握了基本原理之后,留待读者自学。所谓“一法通,万法通”,触类旁通。在知识体系介绍上,也尝试介绍历史渊源,或作为对比。不强求读者掌握,读者可以只关注当前所使用的技术即可。
本书更适合作为高校开设JSP类课程时使用,也可以作为Java EE框架课程的先修课程。适合学时比较少,学校机房配置条件比较有限,在Java教学时未引入集成IDE的学校使用。它同时也适合自学的同学,因为本书选择的IDE基本上避免了自学时可能遇到的开发环境的困扰。
本书是一个逐步提高的组织体系,不断地对代码进行改进,最终慢慢引入设计模式来改善代码质量。书中所涉及的知识点如果是必须掌握的,就做了详细介绍; 如果是暂时用不到的,或者多数情况下用不到,就略讲或者完全没有讲,留待感兴趣的同学自行钻研。
这本书从Servlet出发,按照技术发展的脉络,一路走到了JSP,再走到设计模式,最后将你送到另一条路的起点——各种Web开发框架。在内容组织上,分成了4部分:
第一部分为预备知识,包括第1章、第2章、第3章。
第二部分与Servlet编程相关,包括第4章、第5章、第6章。
第三部分与JSP技术相关,包括第7章、第8章、第9章。
第四部分为综合应用及提高,包括第10章、第11章、第12章、第13章。
第1章、第2章由肖鹏编写; 第4章由祝开艳编写; 其余章节由王斐编写。此外,特别感谢大连交通大学软件学院唐斌老师在成书及校对过程中给予的无私帮助。
本书的主要特色是:
(1) 实用为主,贴近开发。从开发中来,到教学中去(先讲企业开发的基础知识,逐步引入企业级开发常用设计模式,例子设计得更适合教学)。
(2) 不是语法书,不求大而全,但求小而精(从Java Web开发技术的演进出发,以Servlet始,以Servlet、JSP、Java Bean三者的综合应用终,与大多数的教材不同的是,对于已经逐步弱化的JSP部分,并没有如语法书般展开,而是有所取舍,重点讲述了开发中避无可避的问题)。
(3) 以问题为导向,在解决问题中推进(每个知识点都是围绕着问题的解决展开,每解决一个问题,就在知识深度上更进一步)。
需要注意的是:
(1) 如果你想找一本语法书,随手查查,事无巨细,那么这本书不适合你。
(2) 如果你是一个开发高手,想要提高,那么这本书不适合你。
(3) 如果你是一个新人,想要自学Java Web开发,那么这本书很适合你。
(4) 如果你Java学得不好,担心做不了Java Web开发,那么这本书很适合你。
(5) 如果你觉得自己英语不好,面对着英文的编程界面无比恐惧,那么这本书很适合你。
(6) 如果你想用很短的时间学会创建一个Java Web站点,并希望将来学习各种神奇的框架技术,那么这本书很适合你。
另外,本书配套的代码文件会连同课件一起放在清华大学出版社的网站供读者下载使用,网址是http://www.tup.tsinghua.edu.cn。
最后,由于作者水平有限,书中难免会有错漏、疏忽的地方,还请大家批评指正。
编者2014年5月