热门关键字:  听力密码  听力密码  新概念美语  单词密码  巧用听写练听力

Java Web开发权威经典

中国水利水电出版社
    【作 者】于天恩 编著 【I S B N 】978-7-5084-5878-6 【责任编辑】吴萍 【适用读者群】科技 【出版时间】2008-10-01 【开 本】16开本 【装帧信息】平装(光膜) 【版 次】2008年10月第1版 【页 数】 【千字数】 【印 张】 【定 价】69 【丛 书】暂无分类 【备注信息】
图书详情

      本书对B/S架构Java Web开发进行了系统的介绍,最大特色是:程序和案例都来自工程项目,全书共有180多个完整案例和超过250个基本程序,都是网站应用中常用的程序。本书介绍了B/S架构的经典编程体系:客户端采用HTML,CSS和JavaScript脚本语言,服务器端采用JSP + Oracle体系。全书分成四大部分:第一部分(第1章):Java Web应用开发体系与环境配置。第二部分(第2~5章):Java Web开发体系的主要技术。介绍了Java Web开发体系的三大技术:Servlet、JSP和JavaBean。第三部分(第6~8章):JDBC数据库访问技术。介绍了在Java Web开发中使用JDBC进行数据库访问的技术,介绍了 JSP + Oracle开发体系和JSP + SQL Server开发体系。第四部分(第9~10章):Java Web开发体系的其他重要技术。介绍了JSP操作XML的基本方法和当前B/S架构编程领域最新的Ajax技术在JSP中的应用,给出一些工程中经常用到的工具和组件以辅助项目开发。

      本书适用于Java Web开发感兴趣的编程人员。

      本书附赠光盘中含有书中所有案例程序的源代码,方便读者学习。

      从JSP说起

    JSP,就是Java Server Pages技术,是SUN公司推出的动态网页技术,是Web开发领域3P(ASP、PHP、JSP)技术之一。它在应用开发领域的重要性是不言而喻的。

    JSP在传说中是B/S编程技术中最难学习的一种。然而,那也只是传说,不是事实。单纯的JSP技术是很简单的,非常好学。但是,想把这门技术精通,就要懂得与其相关的所有技术,比如Servlet、JavaBean、XML等,这至少要求学习者精通Java。而许多人认为Java难学,并以此推论得到JSP难学,于是JSP传说就诞生了。

      Java好学吗?很好学。Java的语法很严谨,写程序很难出错。学好Java有三天时间足够了——如果你从来没有接触过编程语言的话。如果你之前学过了C或VB等任意一种语言,那么这个时间还可以缩短。

    于是,我们从Java好学可以推论得到:JSP很好学,这样,JSP传说就破灭了,我们就回到了现实世界。

    我学习JSP的感受是:学得越深就越觉得它简单(本来也没有多深)。一知半解会让你处处碰壁。

    单纯的JSP技术和JSP技术体系是不同的概念,前者只是后者包含的多种技术之一。那么,JSP技术体系是怎样的情况呢?

      提到JSP技术体系这个名词,它就不单指JSP这一种技术了。事实上,单纯用JSP(不用JavaBean和Servlet等),基本上什么事情都做不好。JSP技术与其他很多种技术配合在一起就形成了JSP技术体系,或者换一种说法,更确切地讲:Java Web 开发体系。

    这个技术体系包含如下几方面内容:

    (1)核心基础。

    包括:JSP、Servlet、JavaBean、I/O、JDBC、XML、HTTP、TCP/IP等。

    这部分内容很多,有点杂,理论和技术都不少。想要精通这部分内容,没有JavaSE的扎实基础(建议用一天的时间先精通Java)是不行的。笔者认识的一些人在软件公司做JSP开发,看上去似乎把Struts都精通了,而事实上对JSP核心基础还没有掌握,赖以谋生的本领只不过是机械记忆罢了,故而其前途堪忧。

    “求木之长者,必固其根本;欲流之远者,必浚其泉源。”想有大成,总是要先打好基础。治国如是,学习如是。

    掌握了JSP核心基础的人是可以迅速把JSP的周边技术完全掌握的,当然,有心情的话,也可以轻松地创造一些框架给别人学习。

      JSP核心基础知识在整个JSP技术体系中是最重要的。本书就是讲解核心基础的书,书中强调了Servlet,它是基础中的基础,是整个JSP技术体系的根基。关于XML、HTTP协议和TCP/IP协议,读者是需要掌握的,这三种技术在任何B/S结构开发技术中都是至关重要的,这些知识笔者没有细讲,原因是它们要求读者预先掌握的知识太多了,笔者没办法在这本书里补上这一课,但早已有人把这三种技术做了透彻的论述和讲解,你可以很容易地从书店中找到。

    (2)EJB等企业级技术。

      EJB是Java的企业级组件技术,是JavaEE的核心。它很重要,用起来很舒服,是一种享受,但在80%的项目中很难用到它。这一系列技术包含了许多其他技术,如RMI。这套技术本身并不难,许多人认为它难,是底子薄所致。在广泛地掌握了企业级应用开发领域的知识之后再来看EJB,是很简单的。至于其他周边技术,则可看做EJB与外界联络的手段,就更简单了。

    软件开发领域,总会冒出新的名词。但新名词不代表是新技术,即便是有新技术出现,也一定源于旧技术。抓住了技术的根本,就可以随新而变,发现一切都很简单。

    (3)框架。

      框架是用来进行高效和高性能开发的,主要有:JDO、Hibernate、Struts、Jdon、JSF、JSTL、Spring等。ORM理论和XML是这些框架的必要基础。外国人写了很多书来讲这些框架,写得不错,因此笔者不打算再写了。

      当然,B/S架构的技术有一些公共的基础知识,即:HTML、XHTML、XML、CSS、JavaScript、VBScript、SQL、数据库理论、主流数据库的使用、页面设计、Photoshop图像处理等。这些基础知识对于想要精通任何一门B/S架构技术的人来说都是一定要掌握的。几乎任何一种技术钻得深入都会不可避免地和其他技术发生联系,只要有兴趣,有动力,就可以不停地学,就像搜索引擎的爬虫一样,锲而不舍,最终把所有的技术都学会。

    写作动机

    在中国,讲Java Web开发的书很多,然而很难看到精心写成的好书。有些书在给你讲解一定量的知识的同时向你灌输了一些错误的观念。

    写这本书,就是要让国人轻松地、真正地掌握Java Web编程技术。这本书,要成为中国最好的Java Web编程教材。

    写作过程

      本书的写作过程是艰辛的,写这本书使我很疲倦。对我而言,想随手写出几百万字当然是非常轻松的事情,但要写成一本权威经典就不是那么轻松的事情了,这类似于爆米花和压缩饼干的关系。

    2006年,我翻遍了市面上的所有Java Web编程书籍,每一本书都有错误,我都将其从头到尾地修改、批注,它们都不是经典,因此我才写成这部经典,这不是普通人愿意做的事情,也不是轻易可以做到的事情。连我都要花好多时间才能写成,很不容易。

    2006年8月,用了13天,我写成了这本书的初稿,这是我目前所写的书中耗时最长的。当时用的书名和现在的书名不一样,有一些愤慨的情绪在里面。

    2006年末,做了一次大规模的格式修改。由于身体原因,我没有将其在2006年出版。

    2007年4月底到5月,我认真地修改了原稿,做了内容和语言描述风格的修改,并且根据新的经验,补充了一些案例,从而使其知识更加全面,讲解方式更加切合初级学者。于是书的厚度就增加了许多,因此将其分成两本书。

    2007年10月,对两本书做了全面的修改,找出了所有细微的问题。后来,将两本书重新合为一本,并且再次对书稿进行检查,没有发现任何问题。

    2008年5月,对全书语言风格进行更加仔细的修改,除掉2006年写作时留下的豪气,尽量使叙述变得温柔、和气。

    本书特点

      写书,应以教育为目的。我的书内容以实践为主,并不深挖理论。教育是目的,写书是方法,方法服从于目的。书,不见得要写得深透。书的好坏要由书面向的读者群来评价。我写书的原则是:实用。

      这本书包含了必要的理论,但以实践为主。所讲的理论都不是纸上谈兵,都是可以立即付诸实践进行工程应用的。代码可以直接拿出来用(只是不要忘了输入信息验证等基本的安全检查)。

      书中含有大量的案例,由浅入深。浅,并不从“什么是程序设计”开始,因此读者需要具备一些编程的基础知识才能看懂我的书;深,并没有深到“只可意会,无法言传”的地步,所以读者不需要担心无法看懂我的书。

      当然,我在书中的确阐述了一些思想,这是因为:我以为教育不仅是要传知识,更多地是要传思想。李阳的《疯狂英语》、胡敏的《新魅力英语》都是在给人以信念、生活的动力,实为著书的典范。尽管我的书使得一些读者可以迅速找到工作,迅速赚钱,发家致富,但这些是小的。大的,是思想。知识有价,思想无价。一本书,如果能够启迪读者的思维,使读者找到自己人生的方向,那便是功德无量了。希望读者可以体会到。

      一本好书,不知能改善多少人的生活,给多少人带来生活的希望和动力。

      如果你想写出高质量的Java Web应用程序(代码稳定、结构合理、运行安全),目前,在中国人写的书里面,我这本书可以做到。学习这本书将是一件非常快乐的事情,插图很多,代码精炼,你完全不需要演练程序也可以看明白。当然,最好动动手,如果你不是想要在下属面前当装模作样的老板的话。本书所有的知识都是在案例中讲解的,你肯定可以学会。

      本书详细讲解了Servlet、JSP、JavaBean三种Java Web编程相关技术。用了相当的篇幅去介绍JDBC访问Oracle和SQL Server两种大型企业级数据库的方法。同时介绍了访问MySQL、DB2、Access等数据库的基本方法。Ajax和XML是软件编程的前沿,想要学好B/S结构的编程语言,必须掌握这些方面的知识,因此,我用了一定的文字讲清楚了JSP对它们的支持。另外,本书讲解了使用JSP(或Servlet)生成JPG图片、发送邮件、生成PDF文档和上传文件等技术,这些都是工程中常用的技术。

      这本书,可以让你全面掌握Java Web应用开发的核心基础知识,知其然,并知其所以然。你将发现:Java Web开发并不难,只是很多人认为它难,并且把它讲难了。

    本书中没有大型的具体项目案例,这是因为:即便我用最少的文字去讲解项目的设计和实现也要很多纸张,我不想把书写厚,我想点到为止。你可能会问,点到为止也要写这么厚?的确是这样。如果你做过JSP的基础培训,就知道想让那些完全不懂JSP的人把JSP掌握牢固需要多少时间、多少代码。自己学会是一回事,教别人学会是另一回事。不是每个人从悬崖上跳下去都能在落地的过程中学会飞翔,事实上,大部分人都摔死了。做教育就得虚心、细心,要宽容,要理解,自己牛不算能耐,教出牛学生才算本事。

      Java Web开发中需要掌握的知识还有很多(比如:EL、复杂的自定义标志、JSF、JSTL、JWS、高级过滤方法、深入的XML操作、Applet与Servlet通信等),本书讲解的是最核心的东西,是你必须掌握的知识。更高级的内容,或许将来我时间充足的时候会写几本书,但现在很难抽出时间了,见谅。

    本书内容

      这本书共包括10章,可以分成四个部分。你将从这里学习到和Java Web编程相关的一切核心知识,学完本书之后就可以轻松地进行Java Web开发了。

      第一部分(第1章):Java Web应用开发体系与环境配置。介绍了世界上的主流软件开发体系、软件工程的基本理论和Java Web开发平台的配置。

      第二部分(第2~5章):Java Web开发体系的主要技术。介绍了Java Web开发体系的三大技术:Servlet、JSP和JavaBean,并分析了最佳开发模式,这是本书最重要的部分。

      第三部分(第6~8章):Java Web数据库访问技术。介绍了在Java Web开发中使用JDBC进行数据库访问的技术,介绍了JSP+Oracle开发体系和JSP+SQL Server开发体系,以及使用JSP访问主流的MySQL、Sybase和DB2等数据库的方法。

      第四部分(第9~10章):Java Web开发体系的其他重要技术。介绍了JSP操作XML的基本方法和当前B/S架构编程领域最新的Ajax技术在JSP中的应用,给出一些工程中经常用到的工具和组件以辅助项目开发。

      谅解和支持

      这本书是我用心写成的。

      写书的人用心写书,未必能写到最好,但往往可以比自己不用心时写得好。一个本来就可以把书写得很好的人用心去写书就可以把书写得更好,甚至写成经典。看书的也是一样,用心学,破书也会很有用,但好书更有用。

      我喜欢读书,读过很多书,好书对我来说是享受,它能减少我的思考时间,哪怕只有几分钟,也是相当值得的。做人做事得将心比心,我写的每一本书都是用心的,用心,尽力做好。这样就可以节约你们的时间。

      我尽心尽力地写了这本书,从章节的安排到案例的编写,都是经过仔细揣摩的。我希望做到最好。然而,没有最好,只有更好。

      我不能确定这里面没有错误,但我很希望多次的检查可以使里面的错误减到最少。即使有错,也应该是文字错误或者排版错误,不会有涉及程序设计或算法的原则性错误。

      我希望你说这是一本好书,但我更希望你告诉我这本书的缺点和不足。因为我知道这里一定有不足。我不能因为自己用了心,就恬然地认为自己做到了完美。问心有没有愧是一回事,做得好不好是另一回事。前者,我说了算,后者,你们说了算。

      关于读者在这本书中发现的任何问题,错字也好,排版格式也好,我都很希望你能告诉我,以帮助我改良它。而且,你有可能收到意想不到的神秘礼物,或许是我珍藏十几年的树叶书签,或许是我亲手叠的纸飞机,或许是我写的诗词……总之,有钱买不到!

      我的邮箱:yutianen@163.com将真诚地用来为读者答疑解惑,同时接受一切读者的反馈意见。需要说明的是,我的时间非常少,如果不能及时查收或回复你的邮件,希望谅解。我若看到了你的邮件,就一定会认真回复。

      希望这本书在你做Java Web应用开发时有帮助,那便是我的欣慰。

      如果这是你学习Java Web开发的第一本教材,我赞赏你的眼光,你选中了一本用心写的书。

      愿这本书带给你知识,带给你幸运,带给你真实的人生。

      一些勉励

    艺多不压身。

      家财万贯不如有艺在身。

      学技术很有用,可以让人心里踏实。只要技术活着,我们就可以靠技术活着。技术死了,我们再去学新技术,从而维持自己活着。这是一种与时俱进。

      只要肯钻研,没有学不通的技术。

      人类若不灭亡,而且人性保持不变的话,技术就无穷无尽。只要有兴趣,有动力,就可以不停地学,锲而不舍,最终把所有的技术都学会。

      我不建议把所有的心思都用在技术上。我更加不认为技术的进步就是人类的进步,人类的社会,始不可知,终无可料。不要执着于任何事情,别想不开。

      回到技术,诚然,想要掌握主流的所有软件开发理论和技术并不是什么难事,确切地说这非常简单。但,如果你为了学技术而学技术,而且并非天资聪颖轻松学会,而是花了大力气去苦学技术,那就太不值得了。看看你失去了多少和亲人朋友在一起的时间,看看你失去了多少登山野游的时间,看看你在感情和健康方面的损失,想明白这个事情,不要舍本逐末。

      生而知之者,上也;学而知之者,次也;困而学之者,又其次也。

    “人事有可陷者,亦有不可陷者”,陷于技术,不值得。

      悟性,因人而异,不可强求。欲望,因人而异,不应执着。——于天恩

      学技术是简单的事情,做工程师是简单的事情,做科学家也是简单的事情,这些事都比当官轻松得多。

      但简单的事情未必好办,因为简单是相对的。不过有一点是肯定的,“世上无难事,只怕有心人”。即便是我也不认为自己可以做成每件事情,但我会对我想做的事情用心,尽力,做到问心无愧。

      诚然,人的天资很重要,非常重要,相当重要。但有几句话要提醒读者:“勤能补拙是良训,一分辛劳一分才”,“只要有恒心,铁杵磨成针”。天资是天给的,不是人定的。但在天资之外,你还有很多事情可以做,通过勤奋、坚持、刻苦,纵然超不过天才,你也定然能成为超越常人的人才,这不是也很好吗?

      幸福在哪里?在精心的耕耘中,在艰苦的劳动里。

      努力吧!用晶莹的汗水去酿造成功,用辛勤的双手去编织绚丽的人生!

    衷心感谢

      石志国,他的《ASP精解案例教程》是我编程的开端,提起编程,总会想起。想起2004的初冬在寒风凛冽的雨夜读书的事情,想起那时陪伴我的歌,不禁眼泪潸然。

    对哈工大天萌联合的一切成员表示感谢!那些曾跟我在一起的朋友,我会记得你们为我泡的每一杯咖啡和茶。那些始终保持独立的朋友,我也祝愿你们会有更加辉煌的未来。我创立的天萌联合,我们的天萌联合,永远是哈工大最强、最自由的社团,你们这些天萌的元老的名字,将永远铭刻在历史上,铭刻在我的心里。

     

    前言
    第一部分  Java Web应用开发体系与环境配置
    第1章  Java Web开发体系与环境配置 1
    1.1  软件编程体系简介 1
    1.1.1  单机软件 1
    1.1.2  C/S软件 3
    1.1.3  B/S软件 4
    1.2  B/S结构编程技术 5
    1.2.1  网站和网页 6
    1.2.2  B/S结构的主流编程技术 7
    1.3  企业级应用开发架构 8
    1.3.1  两层架构 8
    1.3.2  三层架构 9
    1.3.3  N层架构 9
    1.3.4  开发架构比较 9
    1.4  软件工程的本质 10
    1.4.1  瀑布模型 10
    1.4.2  快速原型 10
    1.4.3  喷泉模型 11
    1.4.4  螺旋模型 11
    1.4.5  XP和软件开发本质论 12
    1.5  面向对象的项目分析与设计 13
    1.5.1  面向对象建模语言与建模工具 13
    1.5.2  系统分析与用例图 14
    1.5.3  系统设计与动态图 16
    1.6  软件项目开发过程标准 18
    1.6.1  ISO9001简介 18
    1.6.2  CMM简介 18
    1.6.3  CMM的5个级别 19
    1.7  Java应用开发体系 20
    1.7.1  JavaSE体系概述 20
    1.7.2  JavaME体系概述 20
    1.7.3  JavaEE体系概述 21
    1.8  JavaEE的N层体系结构 23
    1.8.1  N层开发架构 23
    1.8.2  N层架构的优点 24
    1.9  JavaEE常用应用开发环境介绍 24
    1.9.1  Web服务器 24
    1.9.2  数据库服务器 26
    1.9.3  集成开发环境 27
    1.10  Java Web开发环境的安装配置 28
    1.10.1  配置Java运行环境 28
    1.10.2  配置JSP运行环境 33
    1.10.3  配置Tomcat 38
    1.10.4  JSP的基本目录结构 42
    小结 43
    思考和练习 43
    第二部分  Java Web开发体系的主要技术
    第2章  Servlet编程技术 44
    2.1  Servlet技术基础 44
    2.1.1  Servlet技术简介 44
    2.1.2  Servlet的编译和部署 45
    2.1.3  扩展的案例 49
    2.2  Servlet API基础 52
    2.2.1  Servlet API的概貌 52
    2.2.2  Servlet的生命周期 53
    2.2.3  Servlet 的基本结构 54
    2.2.4  线程同步问题 57
    2.3  与运行环境相关的Servlet API 60
    2.3.1  ServletConfig的用法 60
    2.3.2  ServletContext的用法 61
    2.3.3  综合案例 61
    2.3.4  预装载Servlet 65
    2.3.5  Servlet映射 65
    2.4  请求和响应的处理 65
    2.4.1  POST和GET 65
    2.4.2  HttpServletRequest接口的方法 66
    2.4.3  HttpServletResponse接口的方法 69
    2.5  向浏览器输出 69
    2.5.1  输出普通文本 69
    2.5.2  输出HTML内容 81
    2.5.3  国际化问题 84
    2.6  表单的处理 92
    2.6.1  基本表单域的接收 92
    2.6.2  原始表单数据的分析和处理 99
    2.6.3  表单的验证 101
    2.6.4  表单处理的技巧 108
    2.7  HTTP请求的处理 115
    2.7.1  请求重定向 115
    2.7.2  页面自刷新 116
    2.7.3  页面定时跳转 116
    2.7.4  生成Excel电子表格 117
    2.8  RequestDispatcher接口 119
    2.8.1  基本用法 119
    2.8.2  请求转发 120
    2.8.3  请求包含 121
    2.9  会话跟踪和应用程序事件 122
    2.9.1  HttpSession接口 122
    2.9.2  会话的基本应用 123
    2.9.3  利用会话共享数据 126
    2.9.4  URL 编码 131
    2.9.5  Cookie的使用 132
    2.9.6  应用程序事件 136
    2.10  过滤技术的基础知识 140
    2.10.1  过滤器的编写和部署 140
    2.10.2  最简单的过滤器 142
    2.10.3  请求过滤器 145
    2.11  过滤技术的应用 149
    2.11.1  含有过滤器的客户服务器模型 149
    2.11.2  客户端请求的拦截和分析 151
    2.11.3  服务器端响应的封装 157
    小结 168
    思考和练习 168
    第3章  JSP编程技术 169
    3.1  JSP页面元素与隐含对象 169
    3.1.1  隐含对象 169
    3.1.2  理解服务器端执行 170
    3.1.3  JSP的页面结构 171
    3.1.4  JSP的表达式 172
    3.1.5  注释 172
    3.1.6  JSP和Servlet的对应 173
    3.2  JSP的编译指令 175
    3.2.1  page指令 175
    3.2.2  include指令 178
    3.2.3  taglib指令 178
    3.3  JSP的标准动作 179
    3.3.1  动作 179
    3.3.2  动作 181
    3.3.3  动作 182
    3.3.4  动作 183
    3.4  JSP的应用实例 183
    3.4.1  禁用缓冲区 183
    3.4.2  编码转换 183
    3.4.3  config的使用 184
    3.4.4  Cookie的使用 187
    3.4.5  return语句 188
    3.4.6  session的使用 189
    3.4.7  application的使用 192
    3.4.8  基于文本的计数器 194
    3.4.9  JSP操作文件 195
    3.4.10  为JSP文件配置别名访问 200
    小结 201
    思考和练习 201
    第4章  JavaBean组件技术 202
    4.1  组件技术概述 202
    4.1.1  组件和容器 202
    4.1.2  Bean开发工具 202
    4.2  JavaBean简介 202
    4.2.1  JavaBean编程 203
    4.2.2  JavaBean的特点 203
    4.2.3  JavaBean的属性 204
    4.2.4  JavaBean的基本方法 204
    4.2.5  JavaBean的运行原理 205
    4.3  JavaBean的常规应用 211
    4.3.1  表单Bean 211
    4.3.2  页面Bean 215
    4.4  共享Bean 216
    4.4.1  对象范围 216
    4.4.2  page范围的Bean 217
    4.4.3  请求Bean 217
    4.4.4  会话Bean 218
    4.4.5  应用程序Bean 219
    小结 220
    思考和练习 220
    第5章  Java Web开发体系主要技术的协作 221
    5.1  自定义JSP标记库 221
    5.1.1  写一个自定义标记 221
    5.1.2  关于自定义标记 224
    5.2  面向对象的设计模式 225
    5.2.1  Factory模式 225
    5.2.2  Singleton模式 229
    5.2.3  Façade模式 229
    5.2.4  MVC架构模式 230
    5.3  JSP设计模式 230
    5.3.1  模式一JSP+JavaBean模式 230
    5.3.2  模式二MVC模式 231
    5.4  MVC在JSP中的实现模型 231
    5.4.1  基于Bean的MVC模型 231
    5.4.2  基于Struts的MVC模型 236
    5.5  JSP编程建议 237
    5.5.1  最佳设计原则 238
    5.5.2  可维护的JSP编码标准 239
    5.5.3  基本调试方法 242
    5.5.4  应用程序的性能考虑 242
    小结 243
    思考和练习 243
    (以下略)





最新评论共有 0 位网友发表了评论
发表评论
评论内容:不能超过250字,需审核,请自觉遵守互联网相关政策法规。
用户名: 密码:
匿名?
注册