内容简介本书以beaweblogicserver7.0为开发环境,详细介绍了j2ee框架下各个组件的开发
技术。全书以剖析j2ee各个组件及在weblogicserver环境下开发和部署的过程为中心,共分为两大部分14章。前一部分包括前8章,是web应用部分,包括servlet,jsp,
javascript,applet,以及jdbc和jta。后一部分共6章,包括ejb的
基础——rmi和jndi,会话ejb、实体ejb和消息ejb,以及javamail。这些均是目前的技术热点和读者所关注的问题。书中的实例对读者的实际应用开发有非常强的借鉴意义。
本书适合于具有一定java
编程基础的程序员阅读,也可作为正在进行j2ee开发的各类程序员的必备参考书。
图书目录第1章j2ee概述
11.1j2ee产生背景
11.2j2ee平台简介
21.3j2ee开发模型
41.4j2ee开发中项目团队的组建
61.4.1
设计师团队
61.4.2表现逻辑层团队
61.4.3业务逻辑层团队
71.4.4
数据库访问层团队
8第2章weblogicserver开发环境
92.1weblogicserver概述
92.2
安装weblogicserver
102.2.1下载weblogicserver安装程序
102.2.2weblogicserver的安装
102.3weblogicserver开发环境
142.3.1运行第一个程序
142.3.2构建自主开发环境
172.3.3部署应用组件
192.4部署web应用
192.4.1部署web应用的步骤
192.4.2部署web应用举例
202.5部署ejb应用
212.5.1部署ejb应用的步骤
212.5.2部署ejb应用举例
212.6部署企业应用
222.6.1部署企业应用的步骤
222.6.2部署企业应用举例
222.7weblogicserver常用工具
232.7.1ant工具
232.7.2部署描述器创建工具
262.7.3部署描述器编辑工具
262.7.4部署工具
27第3章利用javaparser解析xml文挡
343.1xml技术综述
343.1.1xml基本概念和术语
343.1.2序言
353.1.3文档类型定义
363.2xml文档的操作
373.3xml文档解析示例程序
383.3.1sax解析器应用示例
393.3.2dom解析器应用示例
43第4章开发servlet
464.1
servlet概述
464.2
servlet的生命周期
484.3
servlet编程基础
514.3.1servlet程序剖析
514.3.2servlet的演示程序
514.3.3servlet的调用方法
534.4处理servlet请求
信息
544.4.1处理servlet请求的方法
544.4.2servlet的高级应用
594.5用servlet实现web会话
664.5.1利用servlet会话对象实现web会话
664.5.2servlet高级会话程序
704.5.3不使用浏览器的会话跟踪
724.5.4会话事件
774.6cookie在servlet中的应用
784.6.1cookie技术基础
784.6.2cookie应用举例
814.6.3url重写
824.7web应用部署描述器文件
844.7.1web.xml文件
844.7.2weblogic.xml文件
89第5章jsp技术
915.1jsp标记
915.2jsp指令
925.2.1page指令
925.2.2include指令
955.3jsp动作
975.4jsp隐含对象
1005.4.1request对象
1015.4.2response对象
1025.4.3page对象
1035.4.4application对象
1045.4.5out对象
1075.4.6exception对象
1085.4.7config对象
1085.4.8pagecontext对象
1095.5jsp注释和描述器选项
1105.5.1jsp注释
1105.5.2jsp描述器选项
1115.6jsp中的javabean组件
1125.6.1javabean属性和方法
1125.6.2javabean动作
1135.6.3javabean应用举例
1205.7jsp标记符库
1245.8jsp高级应用举例
1315.8.1用jsp操作文件
1315.8.2用javabean实现文件上载
1335.8.3自定制标记符库设置applet程序应用
1355.9mvc设计模式
1385.9.1mvc概述
1385.9.2mvc设计实例
1395.9.3mvc的适用性和缺点
1425.10web应用准则
143第6章javascript技术
1456.1javascript概述
1456.2内置对象和事件
1476.2.1内置对象
1486.2.2事件
1556.3变量、表达式和运算符
1646.4
控制语句
1666.5函数和数组
1686.6高级应用
1706.6.1javascript时钟
1706.6.2javascript滚动字体
172第7章applet
1767.1applet基础
1767.2applet生命周期
1797.3applet高级应用
1837.3.1使用标记
1847.3.2applet中的线程问题
1857.3.3用applet实现俄罗斯方块
1897.3.4applet间
通信
1997.4
applet与servlet通信
2057.4.1applet与servlet之间的通信
2057.4.2javascript访问applet
212第8章利用jdbc和jta访问数据库和处理事务
2158.1jdbc技术综述
2158.2jdbc接口类
2168.2.1drivermanager类
2168.2.2connection类
2198.2.3statement类
2198.2.4resultset类
2228.2.5sqlexception类
2238.2.6sqlwarning类
2238.3利用jdbc访问数据库
2248.4利用weblogicserver连接池访问数据库
2318.5利用jta处理事务
2388.6使用jdbc存储和调用大对象
2438.7jdbc高级应用
2458.7.1翻页处理
2458.7.2存取大对象数据
248第9章rmi和jndi
2509.1rmi技术综述
2509.1.1rmi通信机制
2509.1.2理解rmi
2529.2rmi编程模型
2569.2.1rmi实现和运行步骤
2569.2.2weblogicserver的rmi
2619.3jndi接口
2619.3.1理解命名和目录接口服务
2619.3.2jndi体系结构和相关概念
2629.3.3使用jndi
2659.4集成rmi-iiop和jndi
268第10章会话ejb
27210.1ejb技术综述
27210.1.1ejb技术基础
27210.1.2ejb组件
27610.2开发第一个ejb程序
27810.2.1ejb服务器端开发
27810.2.2ejb客户端开发
28410.2.3部署企业应用
28910.3无状态会话ejb
29010.4有状态会话bean
29410.4.1有状态会话bean特点
29410.4.2有状态会话bean股票交易程序
29510.4.3有状态会话bean编程模型
30810.4.4有状态会话bean生命周期
30910.5ejb环境和资源
31110.5.1ejb环境变量
31110.5.2ejb引用
31210.5.3资源管理器引用
31310.6容器管理的事务
31610.6.1
容器管理的事务
31610.6.2容器管理事务示例程序
32010.7bean管理的事务
32810.7.1bean管理的事务
32810.7.2bean管理事务示例程序
32910.8ejb事务管理方式总结
337第11章实体ejb
33811.1实体ejb技术综述
33811.1.1实体ejb理论基础
33811.1.2实体ejb的基本组件
34111.1.3激活与钝化
34311.2开发bmp实体bean程序
34311.2.1bmp编程基础
34311.2.2
银行账户bmp程序
34411.2.3生命周期
35811.3开发cmp实体bean程序
36011.3.1cmp编程基础
36011.3.2银行账户cmp程序
36211.4bean和容器管理数据关系
36811.4.1一对一关系
36911.4.2一对多关系
37111.4.3多对多关系
37411.4.4双向关系
37611.4.5创建主键类
37811.4.6cmp管理关系示例程序
37911.5ejb-ql语言
39611.5.1ejb-ql查询方法
39811.5.2ejb-ql语句详解
39911.5.3ejb-ql的优点与局限
40511.6bmp和cmp的比较
40511.7实体bean和会话bean综合应用
406第12章java消息服务
41312.1java消息服务
41312.1.1消息服务概述
41312.1.2jms技术基础
41412.1.3jms对象模型
41612.2配置jms
41812.3开发jms程序
42112.3.1开发步骤
42112.3.2消息队列示例程序
42312.3.3消息主题示例程序
43012.4jms探究
43612.4.1jms消息
43612.4.2消息传递
43812.5在jms中使用事务
440第13章消息ejb
44413.1消息ejb技术综述
44413.2开发消息bean程序
44613.2.1消息bean的构成
44613.2.2消息bean示例程序
44613.3消息bean探究
45013.4消息bean与会话bean及实体bean的集成应用
453第14章利用javamail实现e-mail的接收和发送
46814.1javamail综述
46814.1.1关于e-mail
46814.1.2javamail
46914.2简单e-mail示例程序
47114.3javamail探究
47514.3.1通过pop3接收e-mail
47514.3.2在邮件中添加附件
48014.3.3从邮件服务器中获取邮件列表
48114.3.4从邮箱中删除邮件
48214.3.5从邮箱中获取读过和未读过的邮件数
48314.3.6从邮件中打开附件
48314.3.7用javamail显示复合邮件的内容
48714.3.8邮件的转发
489
序言/前言序1有幸在第一时间读到《实战j2ee与weblogicserver应用开发》这本书的部分章节,也很乐意接受张宏展博士邀请为本书的出版写几句话。认识宏展博士是在一年多前,当时他刚从西北工业大学获得
计算机科学
软件和理论博士学位,来到上海贝尔阿尔卡特博士后工作站从事研究开发工作。作为他在复旦大学计算机科学与技术博士后流动站的合作导师,我了解到他博士后期间的主要工作有关电信软件平台研发工作,需要全面掌握和熟练使用java技术和相关系统。当他告诉我他和其他两位作者一起编写了一本有关j2ee方面的书,我为他们感到由衷的高兴,觉得他们是有心人,留意把自己在研究开发过程中的体验和积累的知识整理出来贡献给大家。读了一些章节,个人觉得本书具有以下特点。1.系统性。j2ee由庞大复杂的组件组成。本书从简单到复杂,以j2ee组件划分章节,结构清晰,较全面地覆盖了j2ee的技术层面,基本包含了j2ee开发语言的各个方面。书中为讲解各种开发技术所给出的j2ee开发语言实例也是按照循序渐进,由简到繁,由简单逐步过渡到复杂的原则来设计的。内容全面系统,无论是对初学者、有经验的java应用开发人员还是j2ee专家,本书都有一定的参考价值。2.实用性。本书围绕j2ee的weblogicserver7.0开发环境进行编写。站在开发者的角度,详细介绍了weblogic服务器、j2ee服务器中的配置文件和部署描述器等,并且介绍了使用j2ee和weblogic服务器进行企业应用开发的阶段和步骤,并配以在weblogicserver7.0开发环境下
调试通过的可实际运行的实例。这使得初学者可以较快地熟悉开发环境、尽早动手实践,并及时验证所学到的知识。3.
可读性。本书层次清晰、循序渐进、通俗易懂,可以保证边学边用。它在介绍有关j2ee和weblogic服务器知识的同时,通过大量可运行的实例帮助读者提高实际应用的能力。作者将他们自己的学习心得和他们在第一线教学经验有机结合,明显提高了本书可读性。本书涉及到的领域和概念比较广,能处理得难易适当,自成系统是一种突破。以上是我的一些对本书的初步理解,供读者参考。周傲英复旦大学计算机科学与工程系教授
中国计算机学会理事、数据库专委会委员教育部高等学校计算机科学与技术教学指导委员会委员
2004年2月序2“书籍是人类进步的阶梯。”——高尔基我们正身处在一个
网络的世界,一个信息化的社会中,习以为常地享受着计算机应用带来的各种便利。当人们警觉知识爆炸的同时,计算机应用的开发更是以爆炸速度增长,层出不穷的各种系统、技术和
规范令赶潮头的计算机程序员、工程师应接不暇。一本好书,也许就是制胜的法宝。本书就是为在weblogicserver7.0环境下开发、部署和运行j2ee的有关人员所提供的法宝。这本书的特点并不在于技术的精准或深奥,而在于它的切实可用性。作者从事软件平台研发工作多年,携其多年的理论和实践经验,厚积薄发,从一个应用者的角度诠释weblogicserver7.0环境下j2ee的开发。站在开发者的角度,书中首先介绍了weblogicserver的开发环境,通过实例演示如何部署和运行j2ee中的各个组件,使开发者能够迅速熟悉开发环境并上手。然后从简单到复杂,以各j2ee组件划分章节,结构清晰。在这些介绍组件的章节中,前半部分都着重于各组件的理论阐述,后半部分则结合翔实实例,深入讲解各种开发技术。书中所有的清单代码都在weblogicserver7.0环境下调试通过,可见作者在编写过程中确实下了很大的功夫。这是一本实战性很强的书籍,非常适合于j2ee的初学者,书中包含大量的实用api函数,同时又不失为一本很好的参考书籍。其实,企业科研人员大多工作在开发新产品、新技术的前沿,他们往往有很多实际的感悟和经验,这种经验的传播和共享,就是从个人智慧到集体智慧的转化,这是现在很流行的企业知识管理中的一个基本规则。如果将此概念扩展到企业的伙伴,乃至整个社会,那就真正成为了人类进步的阶梯。张宏展博士能将他工作学习中的第一手经验来与广大读者分享,这种精神值得广大科技工作者学习和发扬。陈力山上海贝尔阿尔卡特公司副总裁上海贝尔阿尔卡特isd事业部总裁前言目前已经有很多介绍j2ee开发的书籍,但它们之中的大多数似乎更侧重于理论,实战性不是很强,对于初学者而言,显得有点深奥,很难轻松上手。读者通过学习本书,可以掌握j2ee开发方面的基本知识和技巧。为了提高读者的学习效率,本书采用组件化的思想,书中各章自成一体,分别讲述j2ee中的一个组件技术,并且书中每一章的内容都建立在前一章的基础之上。在掌握了“weblogicserver开发环境”之后,就可以开发和部署各应用组件了。怎样使用这本书在本书中,我们将按一个合适的顺序,即开发应用的步骤和顺序进行讨论。但是,我们将独立地解释每一项技术而不依赖其他章节中介绍的内容。无论读者是一个有经验的java应用开发人员,还是一个初学者,我们均假定读者刚刚开始开发j2ee应用。因为每个人的开发需求不同,因此,我们把每一章的内容设计成独立的,读者可以按最适合自己需求阅读本书的各个章节。本书的编排采用由简到繁的顺序,从最简单的技术开始,逐步过渡到最复杂的技术。例如,第10章到第11章中的会话ejb和实体ejb用到了第9章的rmi和jndi技术,第13章中的消息ejb用到了第12章的java消息服务jms的概念。简言之,本书按以下组织结构介绍各个章节中的内容。首先,通过介绍weblogicserver开发环境和利用javaparser解析xml文档,使开发者熟悉j2ee的一个开发环境并理解j2ee服务器的内部工作原理。然后,开发人员可以根据所需,采用servlet(第4章)、jsp(第5章)、javascript(第6章)或applet(第7章)技术,设计用户界面,编写服务器端的表示逻辑。严格地讲,javascript是不同于java的另一种语言,但由于它在实现web表示逻辑方面的强大功能,所以我们专门开辟一章来介绍它。之所以将applet安排在这些章节的后面介绍,一方面是因为目前的应用是以servlet和jsp等技术的应用为主,另一方面是因为我们赋予了applet新的内容,如与servlet和javascript的通信,对这些内容的学习要以前面的技术为基础。利用上面这些知识可以实现企业应用的基本框架,这之后,为了访问后台数据层,开发人员可以使用jdbc和事务管理技术规划数据库的连接和事务处理(第8章)。上面的第1~8章所讲述的是企业的web应用部分,从第9章开始讨论企业ejb应用。rmi和jndi是java的分布式应用技术,是ejb的基础,因此首先介绍了rmi和jndi技术(第9章)。然后从简单到复杂分别介绍会话ejb、实体ejb和消息ejb,java消息服务是消息ejb的基础,所以在消息ejb之前安排了java消息服务一章,这部分是本书的核心技术。最后,为了包括
电子邮件功能,介绍了如何使用javamail开发e-mail的收发程序。本书的读者对象如果您完全不懂j2ee,那这本书恰恰是您所需要的。这本书几乎覆盖了j2ee技术的所有层面。它包含了j2ee开发语言的每一方面的大量的丰富的信息,而且本书的写作风格会使您很容易跟着学下去。如果您是一个j2ee专家,那这本书会成为您的宝典。实际上,您可以时刻把它放在手边。本书包含了大量的完备的参考和已经编译过的j2ee开发语言的各个方面的例子,并且在weblogicserver7.0开发环境下调试运行过。阅读本书,您可以找到使您的开发工作变得更加容易的例子和解释。本书的源代码从网址http://www.broadview.com.cn,您可以下载到本书所写例子的源代码包(实战j2ee与weblogicserver应用开发sample.rar),包括用于在beaweblogicserver上部署应用的部署描述器文件,并且代码已经被编译,不需要做任何修改就可以在weblogicserver上部署并运行。本书中的约定为方便您的使用,本书使用了一些通用的惯例。注:本书中的注,提供了一些额外的信息,这些信息可以帮助您避免一些错误或是提醒您在使用所描述的特色时会遇到或应该考虑的一些问题。提示:提示中的信息会提供执行过程的另一种更容易的或不同的方法。提示会帮助您应用那些能使开发更容易的概念或方法。警告:警告,对您危险的操作提出警告(如删除文件)。关于本书作者很高兴由我来代表三位作者为这本书写前言。下面是对我们三位作者的简单介绍。张宏展博士是上海贝尔阿尔卡特公司的高级研发人员,也是一位资深的技术管理和应用开发人员,从事c/c++、html/xml和java,以及web方面的项目管理和应用开发多年。蔡宗琰博士在南京航空航天大学cmis中心的博士后流动站工作,具有丰富的软件开发和教学经验。吴欣在北京跟踪与通信技术研究所工作,从事java技术与软件评测的研发工作。我们乐意和本书的所有读者沟通,接受您对本书及对我们的指正和建议。读者如有任何疑问,也可以与我们联系。我们的e-mail:nwpuhzz@163.com致谢编著本书花费了我们近一年的时间。我很自豪地说它是一本很好的书,本书的出版得到很多人的帮助。感谢我的合作导师——复旦大学的周傲英教授,感谢上海贝尔阿尔卡特公司副总裁陈力山先生和总监王晓斌先生,他们在本书的编写和出版过程中给了我极大的关怀和支持。我的朋友——本书的合作者蔡宗琰副教授和吴欣等,为本书的编写提供了很多的技术支持和帮助,负责编写了部分章节,并审校了所有章节。另外,我要感谢我的同事,包括王昱、瞿斌、肖小庆、姜新红、严魁和樊涛,以及我可能遗漏掉的朋友们。张宏展于上海2004.2