JAVA及其相关
-
Java Web应用开发蔡剑,景楠 著内容简介目录SUN公司的Java 2 Enterprise Edition(J2EE)网络技术是目前使用最广泛的Web应用开发技术。本书首先介绍Tomcat和J2EE的基本概念,然后由浅人深讲解各种编程技术,包括客户层技术、网络层技术(Servlet/JSP)、Struts架构、服务器层技术(EJB)、数据事务与安全、打包与部署等,使读者能更快、更清晰地了解和掌握编程方法,最后运用完整实例进行综合指导。本书由SUNJ2EE技术专家直接用中文撰写,几乎所有程序均由作者亲自编程调试。书中涵盖了J2EE 1.4、Servlet 2.4、JSP2.0等多种技术,内容相当于几本同类书,但更加完整连贯,讲解更着重概念-技能-方法的相辅相成,使读者更容易地掌握技术,更快地融会贯通。本书读者对象为高等院校计算机及软件专业的教师、学生,从事软件开发的编程人员等。 蔡剑北京大学光华管理学院信息系统和电子商务系任教. 曾任美国Sun Microsystems公司Java网络技术和标准研发部技术骨干, 全球互联网WS-I组织Sun公司代表. 参与开发了著名的J2EE平台. Web服务软件和Tomcat网络服务器. 于2002-2003年获选Sun集团未来领袖培训计划. 曾经在全球最大的IT会议JavaOne等国际会议发表演说. 在科研中提出了社会一技术知识集成理论并在IEEE Internet Computing等国际核心学术期刊发表多篇论文. 于美国南加州大学获智能设计系统博士. 计算机工程硕士和智能设计系统硕士学位, 于清华大学获得工学学士学位. 景楠美国南加州大学IMPACT实验室研究助理. 曾在Sun Microsystems公司Java Enterprise Edition研发部门实习工作, 参与了J2EE 1. 4的开发. 在IMPACT实验室, 参与了有关互联网分布知识管理系统的研究, 是STFARS 2. 0互联网知识整合系统的主要开发者之一. 他于美国南加州大学获得计算机硕士学位, 于北京大学获得计算机学士学位.前言 本书第1版出版之后, 发生了很多事. 2003年8月我回国到北京大学光华管理学院任教. 在新的环境下, 一方面我直接接触了中国的一些软件公司的开发和管理人员, 另一方面, 从高科技研发转行到教育和科研领域, 使我能更了解学生的学习动机和习惯. 同时, JavaWeb技术本身在2004年发展很快. J2EEl. 4版已经正式发布, Struts也逐渐被广泛接受, Web服务等技术的研发日趋成熟. 因此, 这本书也"与时俱进", 不断完善, 加入了一些新的内容. 在北京大学光华管理学院开设"/E联网系统开发"课程时, 我的学生使用了第1版作为教材. 我们发现作为JavaWeb应用开发的中级内容教材, 这本书还是比较清楚和方便的. 但是还有一些地方不够清晰和完整, 我们进行了修改和补充. 另外, 网上一些读者也给了很好的建议, 比如认为书的题目可以更准确些. 回国以后, 我发现国内很多技术名词和概念与当初的理解不同, 在第2版中我们做了一些修正, 使其更符合中国读者的习惯. 同时在第2版推出时, 读者可以在酷业网(www. coolyes. com. cn)上进行辅助学习, 这将大大提高对JavaWeb应用开发技术的掌握效果. 中国的IT产业正经历着巨变. 有人说中国软件是"扶不起来的阿斗", 我和硅谷高科技精英丛书的编委们不这么认为. 在这里, 我想请大家分享一些我的研究体会和实践经验. 具体技术本身的掌握固然重要, 但是对于技术发展规律的理解是中国目前高科技人才和企业所缺乏的. 如果仅仅专注于技术细节, 只能是一个好的模仿者和学习者. 但是高科技领域的发展源泉是创新. 能否追赶甚至超过国外的技术决定了我们能否成为高科技的赢家. 我们可以暂时落后, 但是一定要有胆识. 我们要敢于设定远大目标, 更要能够扎扎实实地执行. 当然这是一个漫长而艰苦的过程. 这本书仅仅能够帮助国内的读者理解新的Java技术和概念, 能否将知识转化为能力, 还要靠大家的才智和毅志. 蔡剑 2004年12月20日于北大燕园序 市场经济在过去二十年解放了中国社会的发展潜力, 也使中国人的天分得到了充分发挥. 中国的现代企业正在以其他国家望尘莫及的速度攀登科技阶梯. 例如, 计算机行业在中国的迅速发展将使这个国家快速成为世界上最大的IT生产商和消费者之一. 去年, 中国大学培养了约五百万个科学和工程专业的大学生, 这个数字已经接近美国. 中国政府也正在大力发展几个大软件产业园以提供新的经济增长点. 如果所有这些惊人的高速发展持续下去, 全球工业格局和领导潮流会产生本质的巨变. 要进一步加速中国IT产业的发展, 有两个要素需要被重视. 首先, 我们应该着眼那些新兴的. 能对中国企业提供高增值并实现大规模市场成功的技术. 其次, 我们必须直接地向全球的顶尖资源学习, 这些资源不但能够提供世界先进水平的知识而且能够介绍有关主导技术的实践经验. 当科技发展一日千里时, 我们必须承认在中国IT人才试图迅速地了解和掌握先进技术的过程中存在着"知识鸿沟". 传统的学习和培训方法依赖翻译和编辑的手段, 使用这些传统方法, 当快速不断更新的知识流传到中国时往往有些过时. 因此, 建立知识传递的"快车道"和"跨越鸿沟的桥梁"是很有价值的. "硅谷精英科技丛书"正是这样一条快车道和一座桥梁, 它及时地将全球的先进知识和工业界经验带给中国. 作为世界高科技发展的中心, 美国硅谷非常成功地研发出很多突破性技术, 这些技术成为领先的汀产业的基础. 许多海外的中国科学家和工程师在硅谷高科技公司的研发和管理中扮演了重要的角色. 在事业上取得成功的同时, 他们也希望积极参与祖国的经济和技术发展. 当我先前的学生蔡剑博士和他来自CO-YES学会的同事们邀请了我担当这个丛书的名誉顾问时, 我为他们的使命感和奉献精神而感动. 我很高兴能以我作为一名高科技企业家和学者的20年经验帮助他们. 这套丛书是首部由来自硅谷顶尖IT公司(如Sun, Oracle, Cisco)的中国工程师和研究员用中文编写的系列书籍. 它包括了许多重要题目, 譬如网络应用设计. 数据库系统. 存储网络, 等等. 作者们在西方多年的研发经验, 他们所受的中美高等教育, 以及他们对祖国的强烈的奉献心将为中国的IT专业人才带来独到的价值. 我肯定, 许多中国的技术精英将会喜欢这套丛书并从中受益, 因为中国正在不断努力成为"世界的硅谷". StephenC-Y. Lu(卢志扬), 博士 大尉派克主席教授 美国南加州大学 洛杉矾, 加州 2003年4月 第1章介绍 1. 1Web编程技术的发展 1. 2Web信息系统的形式 1. 3Web信息系统的应用 1. 4系统开发人才的全面素质 1. 5JavaWeb编程技术的特点 1. 6本书纲要和使用方法 第2章J2EE有关基本概念和技术 2. 1J2EE多层Web程序框架 2. 2构件技术 2. 2. 1构件种类 2. 2. 2J2EE的客户 2. 2. 3Web构件 2. 2. 4企业JavaBeans(EJB)构件 2. 3服务技术 2. 3. 1命名技术(JNDI) 2. 3. 2部署技术(deployment) 2. 3. 3数据连接技术(JDBC) 2. 3. 4数据事务技术 2. 3. 5安全技术 2. 3. 6连接框架技术 2. 3. 7Web服务技术 2. 4通信技术 2. 4. 1Web协议 2. 4. 2远程方法调用 2. 4. 3对象管理组协议 2. 4. 4Java通信服务技术 2. 4. 5Java消息技术和邮件技术 第3章客户层技术 3. 1基本技术 3. 2浏览器 3. 2. 1功能概述 3. 2. 2HTML用户信息输入 3. 2. 3用户数据校验 3. 2. 4维护用户会话状态 3. 3Applet客户 3. 4应用程序客户 3. 5无线客户 3. 6客户程序设计考虑 第4章Web层技术(以Tomcat为例) 4. 1概述 4. 1. 1J2EEWeb层基本结构 4. 1. 2Servlet和JSP的优点 4. 1. 3Servlet和JSP运行环境 4. 2Servlet技术 4. 2. 1简单的Servlet例子 4. 2. 2Servlet生命周期 4. 2. 3Servlet编程API 4. 2. 4处理客户请求 4. 2. 5控制会话(session) 4. 2. 6与其他Servlet合作 4. 2. 7过滤器 4. 2. 8事件监听器 4. 2. 9数据库连接 4. 2. 10Servlet 2. 4的新功能 4. 3JSP技术 4. 3. 1JSP基本概念 4. 3. 2JSP语法 4. 3. 3动态网页生成 4. 3. 4开发和使用自制JSP标记 4. 3. 5JSP和XML 4. 3. 6JSTL 4. 3. 7JSP 2. 0的新功能 4. 4Web安全机制 4. 4. 1基本Web安全机制概念 4. 4. 2定义realm 4. 4. 3Web程序的验证和登录方式 4. 4. 4使用SSL连接 4. 5 Web程序部署 4. 5. 1web. xml文件的格式 4. 5. 2Web程序编译和打包 4. 6Web层设计思路及实例 4. 6. 1Web程序的设计考虑 4. 6. 2Web程序实例ICWork 4. 7Struts:灵活的Web应用开发框架 4. 7. 1Struts介绍 4. 7. 2Struts使用方法 4. 7. 3总结 第5章EJB层技术 5. 1基本概念 5. 1. 1EJB定义 5. 1. 2为什么选择EJB 5. 1. 3EJB种类 5. 1. 4EJB的组成 5. 1. 5EJB的命名规则 5. 1. 6何时使用EJB 5. 2EJB入门:一个简单EJB实例的开发 5. 2. 1如何开发一个EJB应用 5. 2. 2远程接口(remoteinterface) 5. 2. 3本地接口(local interface) 5. 2. 4home接口 5. 2. 5本地home接口 5. 2. 6bean类 5. 2. 7部署描述符(deploymentdescriptor) 5. 2. 8EJB服务器配置文件 5. 2. 9EJB-jar文件 5. 2. 10部署bean 5. 2. 11EJB客户Jar文件 5. 2. 12调用EJB 5. 2. 13总结 5. 3会话bean 5. 3. 1会话bean的定义 5. 3. 2会话bean的种类 5. 3. 3会话bean的生命周期 5. 3. 4何时使用会话bean 5. 3. 5会话bean使用方法及实例 5. 4实体bean 5. 4. 1持久性的基本概念 5. 4. 2实体bean定义 5. 4. 3实体bean特性 5. 4. 4实体bean持久性的种类 5. 4. 5实体bean的生命周期 5. 4. 6何时使用实体bean 5. 4. 7一个实体bean例子 5. 5BMP与CMP详解 5. 5. 1EJB 2. 0的特性 5. 5. 2容器管理的持久性 5. 5. 3EJB查询语言 5. 5. 4CMP技术讨论 5. 5. 5BMP技术讨论 5. 5. 6总结 5. 6消息驱动bean 5. 6. 1Java消息服务 5. 6. 2Java消息服务的编写-应用编程接口函数(APl) 5. 6. 3JMS与EJB的集成 5. 6. 4消息驱动bean 5. 6. 5如何开发消息驱动bean 5. 6. 6总结 5. 7EJB 2. 1新特性简介 5. 7. 1对于Web服务的支持 5. 7. 2扩展消息驱动bean 5. 7. 3EJBQL的提高 第6章事务与安全 6. 1事务 6. 1. 1什么是事务管理 6. 1. 2事务管理的必要性 6. 1. 3事务模型 6. 1. 4事务种类 6. 1. 5事务特性 6. 1. 6总结 6. 2EJB安全技术 6. 2. 1为什么需要安全技术 6. 2. 2安全技术的层次 6. 2. 3EIS层的安全机制 6. 2. 4安全身份的建立及传播 第7章J2EE应用程序的打包和部署 7. 1打包组件 7. 2打包J2EE应用程序 7. 2. 1EJB模块 7. 2. 2EJB模块打包准则 7. 2. 3Web模块 7. 2. 4应用客户模块 7. 2. 5资源适配器模块 7. 3部署描述文件 7. 3. 1通用元素 7. 3. 2EJB元素 7. 4使用Ant进行打包部署 7. 5总结 第8章J2EE应用程序国际化与本地化 8. 1程序国际化需求 8. 2J2EE应用程序使用J2SE国际化应用程序接口 8. 2. 1应用资源 8. 2. 2消息格式化 8. 2. 3日期格式化 8. 2. 4文字整理 8. 3Web层的国际化 8. 3. 1管理局域元素和编码机制 8. 3. 2显示组件的设计 8. 3. 3国际化和本地化JSP页面 8. 4EIS层的国际化 8. 4. 1持久性的本地化数据 8. 4. 2数据库模式的国际化8. 5使用XML相关的国际化方法 8. 5. 1使用XSLT生成动态的本地化内容 8. 5. 2应用系统的局部元素通信 8. 5. 3在不同的应用系统之间进行局部元素的通信 8. 6错误信息和日志消息的本地化 8. 6. 1客户消息和应用系统的异常 8. 6. 2系统级别的异常和消息记录 8. 7总结 第9章J2EE程序体系结构设计 9. 1模型-视图-控制体系结构 9. 2J2EE设计模式 9. 2. 1截取过滤器 9. 2. 2视图帮助 9. 2. 3前控制器 9. 2. 4控制器 9. 2. 5视图 9. 2. 6值对象或传输对象 9. 2. 7会话面 9. 2. 8数据访问对象 第10章J2EE应用程序实例:STARS合作支持系统 10. 1STARS系统概述 10. 2STARS系统的设计思想 10. 3如何决定应用系统的层次 10. 4选择本地的或分布式的体系结构 10. 4. 1本地结构和远程结构的比较 10. 4. 2J2EE平台的分布式和本地式结构 10. 4. 3STARS系统结构 10. 5体系结构方面的综合考虑 10. 5. 1视图层 10. 5. 2模型层 10. 5. 3控制层 10. 5. 4将MVC结构应用于Web应用 10. 6在STARS系统中使用到的设计模式 10. 6. 1截取过滤器 10. 6. 2前控制器 10. 6. 3传输对象 10. 6. 4会话面 10. 6. 5数据访问对象 10. 6. 6访问控制器 10. 7总结 附录AHTTP协议 A. 1HTTP协议简介 A. 2HTTP协议的几个重要概念 A. 3HTTP协议的运作方式 附录BUML图解概要 附录C主要相关网址 附录DTomcat安装. 设置和运行 附录ESerrlet编程主要API 附录FEJB编程主要API 附录GTCP Tunnel TOOl 附录HAnt工具安装使用简述 H. 1Ant概况 H. 2Ant安装 H. 3Ant基本用法 参考文献 -
JavaServer Faces核心编程(美)David Geary,(美)Cay Horstmann著;王军,马振萍等译;王军译JavaServerFaces(JSF)在Java的Web编程中已经被认为是下一个重大的事件。通过JSF,你可以在网页上使用Web组件来捕获用户行为产生的事件。JavaServerFaces将快速成为标准的Web实用程序框架。本书可帮助你掌握这个功能强大的技术。本书适合用户界面设计的Web开发者,以及实现Web应用程序中可重用组件的程序员,这与官方的JSF规范形成鲜明的对比,官方的JSF规范主要适合于框架实现者。本系列丛书是由SunMicrosystems公司的Java技术人员提供支持并撰写的。这些Java技术人员是Java技术的完整、专业且权威的信息来源。本系列丛书所提供的信息可以帮助读者建立高效、强大且可移植的应用程序或小程序。对于要使用Java2平台的读者来说,本系列丛书是不可或缺的资源。●专家组成员DavidGeary的专家知识和畅销书“CoreJava”作者CayHorstmann的独特见解●从开发者的角度准确解释了使用JavaServerFaces1.0框架如何完成项目——实际工作经验,绝非空洞理论●内容包括Tiles、数据库、无线服务等——提供了很多实用的示例程序 -
面向对象数据结构与软件开发[加]Jean-Paul Tremblay,[加]Grant A.Cheston著;李晔,林波,詹文军译;李晔译本书全面地介绍了面向对象的编程技术。它提供了全面的算法分析的基本内容,比较了算法和数据结构,以及用于面向对象分析和大型信息系统设计的基本软件工程原则。它是第一本在中级水平上介绍软件设计和开发的数据结构书籍。 主要特色: 数据结构库:详细讨论并用Java实现了列表、堆、补偿树、图表和文件。 UML:针对二、三年级的学生,通过UML子集介绍了软件分析和建模技术。 计时分析:贯穿全书广泛地分析和使用了计时技术。 两个案例分析:通过实例说明了非一般系统的分析和设计的面向对象的开发过程。 电子资料:书中涉及到的所有代码以及带有所有标准数据结构实现过程的设计良好的数据结构库的示例均可下载使用。 -
Java优化编程林胜利,王坤茹,孟海利编著Java语言一经问世,就打破以往C++在面向对象开发界一统天下的格局。Java语言是一门非常纯正的面向对象语言,它已经被广泛地应用到电信应用系统与企业级系统软件的开发领域中。在目前从事软件开发的程序员中,应用Java语言进行开发的占了非常大的比例,这主要是因为Java语言的跨平台性与强大的功能。但是大部分开发人员对Java语言只是知道如何应用,至于怎样才能应用好,怎样才能提高Java语言开发应用程序的效率,却知之甚少。一门优秀的语言只有知道如何更好地运用它,才能充分发挥它的潜在功用,开发出优质的软件。一门语言好比一个工具,如果使用者只知道如何简单地使用它,即使这个工具非常优秀,那么这个使用者也只能用这个工具创造出平庸的作品。对Java语言来讲亦是如此。本书通过丰富、完整、富有代表性的实例,展示了如何提升Java应用性能,并且给出了优化前与优化后的Java应用程序的性能差别,以实际的实例与数字告诉你,为什么不可以这么做,应该怎么做,深入分析了影响Java应用程序性能的根本原因。本书不是教你怎样使用Java语言开发应用程序,而是教你怎样才能开发出更高效、更优秀的Java应用程序。书中每一个例子都经过了作者严格的验证。本书适合于所有想编写更高效、完美的Java应用程序的开发人员阅读。 -
Core Java应用程序设计教程刘甲耀,严桂兰编著由于CoreJava能创建应用程序(Applications)和小应用程序(Applets),同时也为了教学上的系统性与诱导性,作者特将CoreJava分成为《CoreJava应用程序设计教程》和《CoreJava小应用程序设计教程》两册来阐述。本书为《CoreJava应用程序设计教程》,主要阐述CoreJava应用程序设计的方法与技巧,其内容取材广泛,由浅入深,它涉及:基本CoreJava(含CoreJava的特点与基本编程模式,基本数据类型,CoreJava的基本输入与输出,基本运算符,条件与循环语句,方法);引用(含引用的含义与操作,对象与引用的基础,字符串,数组,异常处理,使用流类实现的输入与输出);对象与类(含面向对象程序设计的含义,Javadoc;基本方法,软件包,附加的构造);继承(含继承的含义,继承的基本语法,多重继承,接口,通用组件的实现)。本书所有示例均在CoreJava2(使用TextPad工具)环境中通过,实用性强,覆盖面广,许多例子采用多种解决方案,充分体现了CoreJava编程的灵活性与多样性。每章均有小结与习题。书末附录提供了TextPad与JDK的使用步骤和习题参考答案,以及CoreJava安装步骤。书中示例、习题与运行结果可通过华信教育资源网(http://www.hxedu.com.cn)免费下载使用。本书可作大专院校计算机和其他各类专业及培训班的教科书,并可供各行各业从事计算机工作人员使用。本书前言CoreJava是基于网络的纯面向对象编程语言,适用于编写各式各样的软件,适用于各种平台与操作系统,编译后的代码能在互联网上传递,并确保用户安全运行,因而是当前最富有生命力的计算机编程语言之一。CoreJava除了包含Java的所有功能之外,其最大的特点之一是数据的输入与输出(特别是格式化输出)特别简单。就输入一个数据而论,如果使用标准Java,起码要四条语句才能实现,而CoreJava则只要一条语句就能完成。对数据格式化输出来说,使用标准Java非常麻烦,而使用CoreJava则像C语言一样容易。为适应当前Internet的迅猛发展及各行各业学习CoreJava的需要,特别是大专院校为研究生和本科生甚至专科生开设面向对象程序设计课程的需要,我们根据多年对Java和CoreJava教学与科研的实践,以及Java版本的升级,并根据CoreJava能创建应用程序(Applications)和小应用程序(Applets)两大特点,以及为了教学叙述的方便,特分为《CoreJava应用程序设计教程》和《CoreJava小应用程序设计教程》两册来阐述。本书为《CoreJava应用程序设计教程》,主要阐述CoreJava应用程序设计方法与技巧,内容涉及:基本CoreJava;引用;对象与类;继承。《CoreJava小应用程序设计教程》阐述基本Applet;图形程序设计;事件处理;图形用户界面构件;网络通信与声像播放。本书每章均有小结、重点对象和习题,并在附录中提供了习题参考答案。本书共有310条示例,均在CoreJava2环境下(使用TestPad工具)通过,并在附录中提供了TextPad与JDK的使用步骤,以及CoreJava安装步骤。本书有以下三大特点:1.开发工具与语言相结合。本书使用了最新版本CoreJava2及Textpad工具。2.取材广泛,由浅入深,重点、难点分明,易学易掌握。3.编程方法与示例并举。通过一例多解的方式说明CoreJava编程的灵活性、多样性、实用性与趣味性。在本书编写中,承蒙美国某公司副总裁刘涌博士提供了大量资料,广州私立华联学院教师与学生林汶彬、陈亮、杨红柱、陈小强、王少莉等参与本书工作,在此表示感谢。本书不足之处,敬请读者指正。作者E-mail地址:ygl0501@sina.com.cn作者2005年1月 -
J2EE核心模式(美)Deepak Alur,(美)John Crupi,(美)Dan Malks著;刘天北等译;刘天北译本书讲解使用J2EE核心技术实现企业应用过程中的模式、最佳实践、设计策略以及经过验证的解决方案,涵盖了JSP、servlet、EJB、JMS等技术,其中J2EE模式目录包括21个模式以及大量策略,帮助读者迅速熟练掌握J2EE技术,从而构建出健壮、高效的企业应用。本书是计算机应用开发人员、架构师、技术经理等人员的必备参考书。本书前言译者序为一部由GradyBooch和MartinFowler作序的作品写序言,这个念头本身就足够荒谬和僭越,不啻于在莎翁之后再写一个关于丹麦王子复仇的剧本。大师们的判断是中肯而毫不含糊的:“没有这本书,就别开发EJB。”他们的担保足以确认本书在其论域中舍我其谁的地位。是的,这就是“那本”J2EE书。当然,对于广大中国开发者而言,我们早就已经在“没有这本书”的条件下开发了大量J2EE乃至EJB应用系统。那些波折的、不乏磨难的开发历程似乎使不少人具备了一种不无理由的自信,在掌握了若干API细节、若干应用服务器配置诀窍、若干框架类库用法之后,他们或是公开、或是暗自地把自己当成了当之无愧的Java企业开发专家。—不,这些话没有任何揶揄的意思:我们想说的其实是,本书恰恰是为以上这一类开发者写的。对于他们想成为“Java企业开发专家”的隐秘欲望,本书就是最大限度的补救和成全。如果说,此前的各种教程都是在介绍J2EE开发中的“内容”要素—也就是,教给我们“做什么”的话,本书关注的则是这里的“形式”要素,即“怎样做”才能开发出高效的、优雅的J2EE系统。读者从中学到的,将不仅仅是“J2EE技术”,而是“如何使用J2EE技术进行设计”。换句话说,如果你以前没有进行过J2EE实践,但明早将应聘一个需要“1年J2EE开发经验”的职位,本书中不包含你今晚要彻夜吞咽的那一类知识;相反,如果你,这位未来的“Java企业开发专家”,追求的职位是“资深Java应用系统架构师”,如果你预料到未来的上司明天将问起“怎样实现访问控制”、“何时采用细粒度的接口设计”等“高阶”问题,那么恭喜你,今晚—乃至今后—阅读本书,你选对了补课的读物。作为本书第1版的忠实读者,我们(半是欣喜、半是惊讶地)发现,眼前的这部第2版构成了全新的阅读体验。作者们按照最新版J2EE技术规范(尤其是EJB2.1)全面修订了技术细节;根据模式社区的研究交流,作者们补入了若干模式;即使是一些不涉及技术更新的部分,论述方式、示例也完全不同于第1版;原有的PSA项目(第1版“尾声”一章)融入了其余各章的“示例代码”部分;而新增的讨论“微架构”的尾声、对WebService等技术的关注、对各种的持久化方案(定制持久化、EJB、JDO等)的深入讨论,都体现出作者们对本书新版的大量投入。受益于本书有年,在此,我们想冒昧地为本书的中国读者们建议一条高效的阅读路径:与第1章相比,第5章“J2EE模式概览”是读者更合理的起步点。请特别关注其中对“分层”、“术语”和模式/策略区别的讨论,这些都是贯穿全书的重要概念!其次,应该通读第2章“表现层设计考虑和不佳实践”和第3章“业务层设计考虑和不佳实践”:即使你不打算使用任何模式,甚至,即使你根本不关心J2EE开发,只要你的工作与分布式企业应用系统有关,这两章涉及的问题都是你迟早会遇到的。至于每个具体模式本身,我们则推荐读者留意其中详尽的“策略”部分和那些散布其中的“设计手记”。前者讨论了对同一个模式的多种实现方案,后者则突出介绍了特定开发领域的一些核心概念和考虑。一部英文技术论著在汉语中的旅行,永远是一段难以捉摸的行程。对于本书的汉语译者,“技术难度”并非挑战:全书讨论的正是译者们最为熟知的一个领域,所以我们能够负责任地说,在这个中译本里,没有任何技术细节会因为译者的无知或生疏而发生变形或曲解。这次翻译的原则和前提是对原文的彻底领会。事实上,译者在翻译工作中遇到的困难主要发生在“语汇”层面。简单地说,J2EE专著的译者总要面对“翻,还是不翻”的两难处境:对象、函数的名称,UML图中的各种元素,这些内容由英语表示早就是约定俗成,即使是英语程度略低的开发者大概也都能读懂,所以,在读者能够理解的部分尽可能保留原文似乎是一种合理的做法—毕竟开发工作最终是与代码有关,而代码则肯定是要用“英文”的。但在另一方面,翻译的责任就在于让不谙英文的读者也能通达作品,如果译文中大量段落(不包括示例代码)都仍保留为英文或“类英文”,那么读者也就无法直观地获得原文包含的信息。反复权衡之后,在这个译本中译者的解决方式还是折衷的。工作中我们采取了以下原则:1)术语尽可能采用通用文献定译,不自创译法。对于各个模式的名称、模式文档模板各部分名称、重构手法名称,我们参考了李英军等译《设计模式》(机械工业出版社,2000年)、熊节等译《重构》(中国电力出版社,2003年)等译作,以及IBMDeveloperWorks中文网站的部分资源。2)本领域的一些常见术语,如果没有定译,本书也不自创新语,强译为中文,而是保留英文原字。这一类的术语包括:applet、servlet、bean、JavaBean、entitybean、sessionbean、EJB、finder、Context、cookie、RowSet、null、scriptlet、WebService。根据我们的观察,国内的开发者在日常工作中已经习惯按原文使用以上术语。在一些情况下,我们也以注释形式澄清了这些术语的用法。另外,一些非常直观的英文表达方式,比如“versus/vs”(“AversusB”即“A对B”、“A与B相比较/对照”),我们也径用原文—改为汉语既罗嗦,也不直观。3)模式中的对象名称,往往按照代码风格命名,比如“BusinessObject”、“CustomerTO”等。如果对此完全不加翻译,那么很多充斥这类表达的段落就很难理解。我们的原则是,在每个自然段第一次出现某个这类表达方式时,用括号注明,比如“BusinessObject(业务对象)”、“CustomerTO(客户传输对象)”等。希望这个做法能够维持易懂和简洁之间的平衡。4)书中示例代码占有相当大的比重,而代码注释则是理解这些代码的关键。我们把所有代码注释译为中文。而对在视图中显示特定结果的代码(比如调试信息等),我们没有改为中文,只是在必要时对输出信息的含义加以注解。如果读者更信赖代码原貌,还可以从本书官方网http://www.corej2eepatterns.com/下载原始代码。5)原书不包含注解,目前的所有注解都是译注。6)原书申义未畅处,译文中以方括号[]加以解释、补足,略去生涩。这与上面三条原则一样,都类似于在原作讲话时的插嘴—但翻译任务本身,似乎本就已经是一种“插嘴”了。在博学的读者看来,有时候译者或许还不如保持体面的沉默—但我们只能力图做到插嘴而不多嘴。7)原书引用了Apache项目的若干代码,所以附录中包含Apache软件授权协议一页。中译本照录了这份法律文件,未加翻译。8)几个关键术语的译名考虑:*application:一般译为“应用程序”或“应用”。本书中这个词单独出现时,往往指的是“企业应用”,亦即企业信息应用系统。考虑到“应用程序”容易被理解为“桌面程序(desktopapplication)”,在该词含有“企业应用”意味时,我们译为“应用系统”,其他情况下则译为“应用”,以示区别。*client:译为“客户端”。但本书中所说的“客户端”常常是指特定组件的调用者,不一定是“桌面程序客户端”,反倒很可能本身也是另一种组件、甚至一个子系统。希望读者注意该词在书中的用法。*POJO:软件方法论大师MartinFowler在《PatternsofEnterpriseApplicationArchitecture》(PEAA)中创造的说法,是plainoldJavaobject的缩写,指普通Java对象(而不是EJB等组件)。中译本仍采用“POJO”名称。*enterprisebean:直译为“企业bean”,在本书中就是“enterpriseJavaBean/EJB”的另一说法。为了直观,我们统一译为“EJB”。*tier/layer:字面上都是“层”/“层次”。本书中“tier”指的往往是“架构”意义上的分层,比如“表现层”、“业务层”、“集成层”等,而“layer”既分享了前者的含义,有时也指tier内部的中间层次,比如“会话门面”就构成了客户端和业务服务之间的一个“layer”。这两种意思实在很难区分,中译本只能都译为“层”、“层次”。希望读者在阅读中体察这种细微差别。*delegate:是设计模式中的重要概念。一般译为“委派”。但在我们看来,这个译法还不完整,因为“委派”在汉语中只是动词,而delegate往往还充当名词。这次中译本的做法是,动词delegate仍译为“委派”,比如“A把功能F委派给业务层的B”,而名词delegate则译为“代表”,比如“B是A在业务层的代表”。希望读者体察,并推荐更好的译法。原书中所有模式、重构手法、策略的名称以斜体标出,要点以黑体标出。中译本一仍其旧。原书经多人、多版修订完成,难免有错漏、乱排之处。译者根据本书官方网站的最新勘误表订正,并结合参照本书第1版《CoreJ2EEPatterns:BestPracticesandDesignStrategies》(AddisonWesley,2001),另外修正了数十处错误。 -
J2EE 1.4标准教材(美)Stephanie Bodoff等著;田玉敏,沈金河等译;田玉敏译本教材由7部分组成。第1部分讨论J2EE1.4平台体系结构以及XML和Web应用程序的基本知识。第2部分讨论处理XML文档和实现Web服务组件的一些技术:JAXP、JAX-RPC、SAAJ和JAXR。第3部分讨论在开发J2EE或独立Web应用程序表示层时所使用的一些组件。第4部分讨论开发J2EE应用程序业务逻辑时使用的组件:会话bean、实体bean、消息驱动bean和企业JavaBeans查询语言。第5部分讨论所有J2EE组件技术使用的系统服务:事务、资源连接、安全连接和Java消息服务。第6部分给出一些案例分析,它紧密围绕本教材所讨论的几种技术。最后一部分是附录,包括Java编码方案、XML标准、HTTP概述、J2EE连接器体系结构。本书适合于学习开发和部署J2EE1.4应用程序的程序员阅读。本系列丛书足由SunMicrosystems公司的Java技术人员提供支持并撰写的。这些Java技术人员是Java技术的完整、专业且权威的信息来源。本系列丛书所提供的信息可以帮助读者建立高效的、健壮的且可移植的应用程序或小程序。对于要使用Java2平台的读者来说,本系列丛书是不可或缺的资源。CJ2EE1.4标准教材(第二版)》足Java2Platform,EnterpriseEdition(J2EE)version1.4所有重要组件的完整指南。本书由J2EE平台团队的成员编写,是一本面向任务和例子丰富的图书,特别适合于Java初中级程序员马上开始构建J2EE程序。本书首先介绍了J2EE1.4平台架构和API、SunJavaSystemAppticationServerPlatformEdition8,以及使用XML和Web应用程序的基本知识。本书的大部分内容着力于描述和示范JavaXML、Web层和EnterpriseJavaBeans技术及平台服务。丰富的例子和案例分析向您展示了如何将这些技术应用到实际工作中去。 -
J2EE编程技术郝玉龙 编著本书对J2EE编程技术进行了系统的介绍。本书首先对J2EE体系结构进行概述,介绍J2EE的定义、设计思想、技术框架等,然后详细指导读者如何基于Eclipse+Lomboz+JBoss+MySQL配置来搭建J2EE开发环境,随后以J2EE三大组件技术(Servlet,JSP,EJB)为主线,中间穿插J2EE服务技术和通信技术对J2EE编程技术进行了系统介绍。本书最后以一个完整信息系统的开发为示例,从系统的需求分析开始,到规划、框架设计、编码,再到部署发布,一步步引导读者完成一个完整系统的开发,向读者展示灵活运用J2EE技术构建完整信息系统的基本技巧。本书适合作为高等学校计算机专业教材,也可作为相关人员的参考书。本书每一章都是一个完整独立的部分,因此教师在授课时可根据授课重点、课时数量进行灵活调整。 -
Eclipse精要与高级开发技术张云涛,龚玲编著Eclipse 是一个很让人着迷的开发环境,它提供的核心框架和可扩展的插件机制给广大的程序员提供了无限的想像力和创造空间。Eclipse自身包含大量的内置功能,加上无所不能的插件,将构成一个丰富多彩的工作环境而不仅仅是一个IDE。本书内容由浅入深,先介绍了Eclipse平台体系结构、工作台、Java集成开发环境、Java程序调试;再介绍了JUnit,Eclipse配置管理,Eclispe开发环境中的应用服务器Tomcat,Eclipse中的资源构建和构建工具Ant;最后介绍了Eclipse下的Web应用开发、插件开发技术、Struts应用开发和MySQL数据库应用开发。本书适合于Java程序员、自由软件爱好者及各类软件开发人员阅读。 -
精通Hibernate刘洋编著Hibernate是目前应用最为成功和广泛的数据持久化工具。本书详细介绍了Hibernate的底层技术、使用方法、扩展特性和以Hibernate为基础的EJB3.0标准实现工具。本书包含以下内容:·数据的持久化之道·Hibernate快速上手·J2SE5.0·Java反射技术·Hibernate底层技术·JDBC编程·配置Hibernate·集成Hibernate·Hibernate的体系结构·Hibernate的编程接口·Hibernate的事务处理·Hibernate的对象关系映射·查询语言·EJB3.0标准·Hibernate的元数据本书适合各级Java程序员阅读和参考,也可作为企业和院校的相关培训教材。
