当前位置:
首页 > 教材教辅 > 大学 > Java EE实用教程:基于WebLogic和Eclipse(第2版)pdf/doc/txt格式电子书下载

Java EE实用教程:基于WebLogic和Eclipse(第2版)pdf/doc/txt格式电子书下载

本站仅展示书籍部分内容

如有任何咨询

请加微信10090337咨询

Java EE实用教程:基于WebLogic和Eclipse(第2版)pdf/doc/txt格式电子书下载

书名:Java EE实用教程:基于WebLogic和Eclipse(第2版)pdf/doc/txt格式电子书下载

推荐语:

作者:李绪成编

出版社:电子工业出版社

出版时间:2011-06-01

书籍编号:30466571

ISBN:9787121134760

正文语种:中文

字数:152714

版次:2

所属分类:教材教辅-大学

全书内容:

Java EE实用教程:基于WebLogic和Eclipse(第2版)pdf/doc/txt格式电子书下载






前言


本书是《Java EE实用教程——基于WebLogic和Eclipse》的第2版。Java EE是Java企业级版本,涉及Java企业级开发的很多方面,包括Web开发(JSP+Servlet)、Web框架(JSF框架)、Web Service、EJB、JPA,以及一些标准接口JTA、JNDI、JMS等,本书对这些内容进行了介绍。


本书采用的应用服务器是WebLogic 10.0服务器,WebLogic服务器是业界最成功和最流行的应用服务器之一。Eclipse是目前最流行的Java开发环境之一,本书使用了基于Eclipse平台的MyEclipse插件,版本是7.5。


全书共分七部分,第一部分是对Java EE的概述,并对JNDI、JDBC、JTA、RMI和JMS进行了介绍。第二部分讲解Java Web开发,涉及JSP、Servlet、JSTL、EL和MVC。第三部分探讨的是Web Service,分析了Java对Web Service的支持以及如何使用JAX-WS开发Web Service。第四部分讲解JSF中的验证器、监听器、转换器和管理Bean等。第五部分讲解的是如何用EJB编写会话Bean和消息驱动Bean,以及如何在EJB中访问外部资源。第六部分探讨了JPA,包括如何在各种应用中使用JPA,如何使用JPA进行各种数据库操作以及JPA所使用的查询语言。第七部分探讨了Java EE的安全问题。


相对于上一版,这个版本的改动如下:


● 增加了部分内容,包括RMI、Web Service,增加了实验指导书和习题手册;


● 去掉了部分内容,包括EJB中关于EJB 2的内容和JavaMail API;


● 对结构进行了调整,把JMS放到了第一部分,Java Web部分的内容和结构也进行了调整,把JSF部分单独提出来形成第四部分;


● 软件升级,WebLogic服务器的版本升级为10.0,MyEclipse的版本升级为7.5。


本书第2版的特点如下:


● 严格按照Java EE规范编写,几乎涵盖了Java EE规范中的所有内容;


● 采用流行的应用服务器WebLogic 和开发环境Eclipse,每部分内容都会介绍如何使用Eclipse进行开发,如何配置WebLogic服务器以及如何使用服务器;


● 理论结合实践,为了让读者更容易理解各种概念,书中采用了大量的实例;


● 提供了配套的电子版实验指导书和习题手册,每个实验都有详细的操作过程,读者按照实验指导书能够完成相应的功能,每章内容都配备了习题手册。但是因为篇幅所限,实验指导书和习题手册采用电子版的形式通过华信教育资源网(http://www.huedu.com.cn)免费提供给大家使用。


本书的第1版从出版到现在有4年多的时间了,期间有很多学校采用本书作为教材。此外,本书还获得了2009年度“辽宁省自然科学学术成果奖学术著作类二等奖”和“大连市科学著作奖二等奖”。


本书可以作为高等院校计算机相关专业的教材,也可以作为自学者的参考手册。


本书的第一部分由李绪成、王红编写,第二部分由何宗刚、刘冰月编写,第三部分由闫海珍编写,第四部分由金焱编写,第五部分由孙风栋编写,第六部分由樊晓勇、张娜编写,第七部分由张阳编写。全书由李绪成统稿,何宗刚审定。


感谢参与本书第1版编写工作的滕英岩老师以及其他老师,正是有了他们的努力和付出才有了本书。感谢其他兄弟院校的老师和我的学生们,他们提出了很多宝贵的建议并指出了书中的一些错误,正是有了他们的建议才使第2版的内容、结构更加合理。


第2版的编写经历了一年多的时间,作者努力让内容更全面,让结构更合理,让读者更容易理解,但因Java EE涉及内容太多,作者水平有限,错误和不妥之处在所难免,敬请读者批评指正。作者的联系邮箱:lixucheng@dl.cn,blog地址:http://blog.csdn.net/Java EEteacher。


李绪成


2011年2月于大连

第一部分 基础服务


本部分内容包括6章。


第1章 概述,介绍了Java EE的发展历史、架构、组件、服务、容器等概念,并介绍了平台角色以及开发环境和应用服务器的选择与安装。


第2章 使用JNDI访问命名和目录服务,介绍什么是命名和目录服务,以及如何通过JNDI访问WebLogic提供的命名目录服务。


第3章 使用JDBC访问数据库,介绍JDBC的基本用法以及连接池的配置和访问。


第4章 使用JTA进行事务处理,介绍事务处理概念以及如何通过JTA进行事务处理。


第5章 RMI:远程方法调用,介绍了RMI的结构以及如何使用RMI进行编程。


第6章 使用 JMS 接发消息,介绍了消息服务的概念,在WebLogic中消息服务相关的配置以及如何通过JMS开发消息发送和接收程序。


第1章 概述


本章对Java EE平台规范进行概述,包括Java EE规范的发展历史,Java EE架构图,Java EE组件、服务、容器,Java EE的平台角色。


Java EE是Java PlatForm 2 Enterprise Edition的缩写,从1999年12月17日发布J2EE 1.2版本,到今天已经走过了十多个年头,共发布了5个版本,最新版本是Java EE 6。


1.1 Java EE架构


Java EE 6平台包含的元素以及它们之间的关系见图1.1,图中显示的仅仅是逻辑关系。


图中使用矩形框表示Java EE运行环境,称为容器,容器为矩形框中上半部分表示的元素提供需要的服务。矩形框的下半部分表示容器能够提供的服务。例如,应用客户端容器为应用客户端提供JMS API服务。

Java EE实用教程:基于WebLogic和Eclipse(第2版)pdf/doc/txt格式电子书下载

图1.1 Java EE 6架构图

箭头表示需要访问Java EE平台的其他部分。Java应用客户端容器通过JDBC API(与数据库系统进行连接的Java API)为应用客户端提供对数据库系统的直接访问。


Java平台标准版的API由每种类型的应用组件所在的Java SE运行环境提供。


Java EE架构分为4层:客户端层、Web层、EJB层和数据库层。


● 数据库层为系统提供数据存储和数据管理功能,在整个企业级应用中可能存在很多个数据库,并且采用不同类型的数据库管理系统进行管理。


● EJB层,也称为业务逻辑层,用于完成系统中复杂的或者共享的业务,这些功能主要是供客户端层和Web层调用,用户不会直接调用该层。


● Web层,基于HTTP的访问方式,客户通过Web层访问系统的业务逻辑和数据等。


● 客户端层,包括Applet客户端和Application客户端,客户通过客户端的形式访问系统的业务逻辑和数据等。


架构中的4层可能不同时出现在系统中,例如某个系统可能只提供Web形式的客户端,并且不使用EJB技术,此时系统只留下Web层和数据库层。


架构中描述了多个组件和多种服务,下面分别进行介绍。


1.2 应用组件


Java EE运行环境定义了5种类型的应用组件,包括客户端组件Application和Applet,Web层组件JSP和Servlet,EJB组件等,这些组件类型是Java EE产品必须支持的。


Application组件


Application组件是使用Java编程语言编写的桌面类型的应用程序,是专用的客户端程序。与一般的本地应用相同,这类组件通过图形用户界面接收用户的请求并向用户响应,能够访问Java EE中间层提供的所有服务。


Applet组件


Applet通常嵌入在网页中,运行时会下载到本地,由浏览器执行。Applet组件可以为Java EE应用提供强大的用户接口,它能够通过Web层与系统交互。


Servlet组件


Servlet属于Web层组件,通常在Web容器中运行,可以接收来自Web客户端的HTTP请求,并能够对用户进行响应。Servlet发给用户的是服务器端处理的结果,通常是HTML形式或者XML形式。Web组件需要在Web层容器中运行,可以调用Web层容器提供的各种服务。有一种特殊的Servlet,能够为基于SOAP/HTTP协议的Web Service提供支持。


JSP组件


可以把JSP组件当成特殊的Servlet组件。Servlet组件是Java类,而JSP组件是文本文件,通常是在HTML文件中嵌入Java代码形式。Servlet组件在生成网页时不够灵活,网页中的所有内容(使用HTML或者XML)都需要通过Servlet的输出功能生成,而JSP组件中可以直接写HTML代码或者XML代码。当然,在运行时JSP还是要转换成Java代码,但是它简化了开发人员编写网页的工作。在实际应用中通常是两种方式的结合,使用JSP生成动态页面,使用Servlet接收用户的请求,然后调用适当的业务方法,最后通过JSP页面对用户进行响应。JSP和Servlet都是Web层组件。


EJB组件


EJB是Enterprise JavaBeans的缩写,是特殊的JavaBean,用于封装企业级应用中的核心业务逻辑,运行于EJB容器中。企业Bean可以直接提供使用SOAP/HTTP协议的Web Service。EJB可以使用容器提供的很多服务,可以访问数据库中的数据。


1.3 Java EE提供的服务


Java EE平台规范要求Java EE应用服务器应该提供下面的Java EE服务。有些服务是Java SE中提供的。


HTTP


客户端程序中可以使用HTTP协议访问服务器,客户端中使用的类和接口在java.net包中定义,服务器端程序可以是Servlet、JSP、JSF以及Web Service。


HTTPS


客户端程序也可以使用基于SSL协议的HTTP协议(HTTPS)访问服务器,与使用HTTP协议时所使用的客户端程序和服务器端程序是相同的。


JTA


JTA是Java Transaction API的缩写。JTA包括两部分:应用程序访问容器提供的事务服务的接口,供开发人员使用;Java EE SPI级的事务管理器与资源管理器之间的接口,供服务提供者使用。


RMI-IIOP


RMI-IIOP是Remote Method Invocation over the Internet Inter-ORB Protocol的缩写,是基于IIOP的RMI。RMI和CORBA是两种分布式应用解决方案,RMI是纯Java实现的,比较简单。CORBA比较复杂,但是独立于语言。IIOP是CORBA中对请求进行编码的协议。RMI-IIOP综合了RMI和CORBA的优点,克服了它们的缺点,使得程序员能更方便地编写分布式程序,实现分布式计算。使用RMI-IIOP编写分布式应用变得非常简单,并且能够利用CORBA的多语言特性。


Java IDL


允许Java EE应用组件使用IIOP协议调用外面的CORBA对象。CORBA可以使用任何语言编写,运行在Java EE环境之外。Java EE应用可以使用Java IDL扮演CORBA服务的客户端。


JDBC API


JDBC API是Java应用连接关系数据库系统的API。JDBC API包括两部分:应用组件用于访问数据库的应用级的接口;把JDBC驱动与Java EE平台连接的服务提供者接口。不要求Java EE产品支持服务提供者接口。


Java持久性API


Java持久性API是用于管理持久性和对象/关系映射的标准API。该API提供了应用开发者使用的Java域对象与关系型数据库的对象之间的映射机制。要求Java EE提供Java持久性API支持,也可以在Java SE环境中使用Java持久性API。


JMS


JMS是Java Message Service,表示Java消息服务API。JMS是Java处理消息的标准API,既支持点对点的消息处理,也支持发布订阅模型的消息处理。消息服务与方法调用不同,方法调用采用同步调用方式,而消息服务采用异步的消息传递机制。


JNDI


Java命名目录服务(Java Naming and Directory Interface,JNDI),是访问命名和目录服务的标准API。JNDI API有两部分:应用级的接口,应用程序用于访问命名和目录服务的接口;服务提供者接口,用于连接命名和目录服务的提供者。


Java Mail


许多网络应用要求能够发送E-mail,因此Java EE平台包含了Java Mail API以及能够发送网络邮件的JavaMail服务提供者。Java Mail包括两部分:应用组件发送E-mail的应用级的接口;在Java EE SPI级的服务提供者接口。


JAF


Java激活框架(JavaBeans Activation Framework,JAF)提供了用于处理不同MIME类型,源于不同格式和位置的数据的框架。JavaMail API中使用JAF API,所以Java EE产品提供者必须提供。


JAXP和StAX


用于处理XML的Java API(Java API for XML Processing,JAXP),支持SAX和DOM API两种对XML进行处理的方式,也支持XSLT转换引擎。StAX(Streaming API for XML)是一个完整的解析XML的标准API。


Java EE连接器架构


连接器架构是一个Java EE SPI,支持访问企业信息系统的资源适配器插入到任何Java EE产品。连接器架构定义了一个标准的Java EE服务器和资源适配器之间系统级的协议集合。这些协议包括如下几种。


● 连接管理协议。允许Java EE服务池连接到所使用的EIS,允许应用组件连接到EIS。这样,应用环境可以非常灵活,可以支持很多需要访问EIS系统的客户端。


● 事务管理器支持对EIS资源管理器进行事务访问的EIS之间的事务管理协议。这个协议允许Java EE服务器使用资源管理器来管理跨越多个资源管理器的事务。同样支持在EIS资源管理器内部管理而不需要调用外部事物管理器的事务。


● 能够安全访问一个EIS的安全协议。


1.4 容器


容器用于管理运行在其中的组件并为运行在其中的组件提供服务,应用服务器为每种类型的组件都提供了一种容器。有4种类型的组件,服务器应该提供4种类型的容器。


● 应用客户端容器——管理应用客户端组件,并为应用客户端组件提供服务。


● Applet容器——管理Applet组件,为Applet客户端组件提供服务。


● Web容器——管理Web组件,为JSP和Servlet等组件提供服务。


● EJB容器——管理EJB组件,为EJB提供服务。


1.5 Java EE服务器对应用组件的支持


Java EE服务器为兼容的应用组件提供部署、管理和执行支持。根据组件对Java EE服务器的依赖可以把应用组件分成如下三类。


● 部署在Java EE服务器上,由Java EE服务器管理和在Java EE服务器上运行的组件。这些组件包括Web组件和EJB组件。


● 部署在Java EE服务器上,由Java EE服务器管理,但是在客户端加载并执行的组件。这些组件包括HTML页面和嵌入在HTML页面中的Applet组件。


● 不要求在Java EE服务器上部署和管理的组件,这些组件是应用客户端组件。


1.6 平台角色


Java EE应用的开发、部署、运行涉及多个角色,不同的机构会根据自己的开发、部署工作流对角色进行划分。通常涉及以下角色。


Java EE产品提供者


Java EE产品提供者是组件容器、Java EE 平台API以及实现平台中规定的其他特性的Java EE产品的实现者和提供者。Java EE产品提供者通常是操作系统提供商、数据库系统提供商、应用服务器提供商或者Web 服务器提供商。一个Java EE产品提供者必须通过容器让应用组件访问Java EE API。产品提供者通常基于一个已经存在的框架来构建他们的实现。


Java EE产品提供者必须提供应用组件到这个规范指定的网络协议之间的映射。一个Java EE产品可以实现一个规范中没有定义的接口。


Java EE产品提供者必须提供应用部署和管理工具。部署工具能够使部署者在Java EE产品上开发应用组件。管理工具允许系统管理员管理Java EE产品以及部署在Java EE产品上的应用。


应用组件提供者


应用组件提供者包括多个角色:HTML文档设计者、文档编程人员和企业Bean开发者,这些角色使用工具来生产Java EE应用和组件。


应用组装者


应用组装者使用一组应用组件提供者开发的组件,然后把它们以企业压缩包(.ear)文件的形式组装成一个完整的Java EE应用。应用组装者通常使用平台提供者或者工具提供者提供的工具。应用组装者负责提供描述应用对外界依赖的组装信息,这些信息是部署者在部署过程中必须得到的信息。


部署者


部署者负责把应用客户端、Web客户端和企业Bean组件部署到特定的操作环境中。部署者使用Java EE产品提供者提供的工具来执行部署任务。部署通常包括如下三个过程。


● 安装阶段。在安装阶段,部署者把应用移动到服务器上,生成其他的特定于容器的类和接口,这些类和接口能够使容器在运行时管理应用组件,把应用组件和其他的类和接口安装到合适的Java EE容器中。


● 配置阶段。在配置阶段,根据应用组件提供者声明的外部依赖和应用组装者定义的组装指令进行。例如,部署者负责把应用组装者定义的安全角色映射到目标操作环境中的用户组和账户上。


● 执行阶段。最后,部署者开始执行新安装和配置的应用。某些情况下,部署者在部署时可以定制应用组件的业务逻辑。例如,使用Java EE产品提供者提供的工具,部署者可以提供简单的应用代码,这些代码封装了企业Bean的业务方法或者用于定制一个JSP页面的外观。部署者的输出是一个为目标操作环境定制的Web应用、企业Bean、Applet和应用客户端,并且被部署在特定的Java EE容器中。


系统管理员


系统管理员负责企业的计算和网络结构的配置与管理。系统管理员也负责观察已经部署的Java EE应用的运行状况。系统管理员通常使用Java EE产品提供者提供的监控和管理工具来完成这些任务。


工具提供者


工具提供者提供用于开发和打包应用组件的工具。多数工具是根据Java EE平台支持的应用组件的类型预定义的。可以把与平台独立的工具用于所有开发阶段,包括应用的部署、应用服务器的管理和监控。


系统组件提供者


许多系统级的组件可以由系统组件提供者提供。连接器架构定义了用于提供许多类型的资源适配器的主要API。这些资源适配器可以连接到已有的许多类型的企业信息系统,包括数据库和消息系统。另外一种类型的系统组件是安全授权策略提供者,它是由容器规范的Java安全授权服务提供者协议定义的。


1.7 应用服务器的选择与安装


服务器厂商提供Java EE组件的运行环境,常用的应用服务器包括如下4种。


● GlassFish。Java EE 5之后出现的应用服务器,与Java EE规范的最新版本基本上同时发布,原来属于Sun公司,现在Sun公司已被Oracle公司收购。


● JBoss。是开源的应用服务器,应用比较广泛。


● WebLogic Server。原来属于BEA公司的应用服务器,现被Oracle公司收购,在商用服务器中市场份额比较大。


● IBM WebSphere。是IBM公司的应用服务器,与WebLogic Server一样,是比较成功的商用应用服务器。


还有一些其他的应用服务器,本书的讲解使用WebLogic Server。


安装WebLogic


安装文件为wls1032_win32.exe,可以从Oracle公司的网站下载,也可以在线安装。安装时选择默认配置即可。详细安装过程从略。


配置WebLogic域


安装完成后,选择“开始|程序|Oracle WebLogic|Oracle WebLogic 11gR1|Tools|Configuration Wizard”,进入配置界面,选择“创建新的WebLogic域”。后续界面中的配置采用默认值即可。配置用户名和口令时,为了以后使用方便,将用户名设置为weblogic,口令使用11111111(8个1)。在“选择可选配置”界面中,不要选中任何选项。


1.8 集成开发环境的选择与安装


现在流行的Java EE开发环境包括Oracle公司的NetBeans(原来属于Sun公司)、开源的Eclipse以及基于Eclipse的插件,本书所使用的开发环境是基于Eclipse的MyEclipse插件。


安装MyEclipse


这里使用的是MyEclipse 7.5,它已经包含Eclipse,所以不需要单独安装Eclipse。安装过程从略。


安装完成后,可以尝试运行它。启动之后需输入注册码,选择“MyEclipse|Subscription Information”,然后输入注册码。


在MyEclipse中配置WebLogic


在MyEclipse中配置WebLogic的目的,是从MyEclipse启动和管理WebLogic,配置过程如下。


选择“Window|Preference|MyEclipse Enterprise Workbench|Servers|WebLogic|WebLigic 10.x”,进入配置界面(见图1.2),配置内容如下。


● BEA home directory:输入WebLogic的安装目录。然后确认WebLogic installation directory、Execution domain root、Execution Server name和Security policy file的信息是否正确。


● Administration username:输入配置WebLogic域时输入的用户名。


● Administration password:输入配置WebLogic域时输入的用户名所对应的口令。


● 选中“Enable”。


单击OK按钮即可。

Java EE实用教程:基于WebLogic和Eclipse(第2版)pdf/doc/txt格式电子书下载

图1.2 服务器配置界面

测试


启动MyEclipse之后,从MyEclpse中启动WebLogic,启动方式如图1.3所示。

Java EE实用教程:基于WebLogic和Eclipse(第2版)pdf/doc/txt格式电子书下载

图1.3 启动WebLogic Server

打开浏览器,输入“http://localhost:7001/console”,进入WebLogic的登录界面(见图1.4)。


输入用户名和口令,用户名为“weblogic”,口令为8个1,进入控制台,可以看到控制台中的内容(见图1.5)。至此,相关的安装和配置工作已经完成,后续章节将分别介绍Java EE的各种用法。

Java EE实用教程:基于WebLogic和Eclipse(第2版)pdf/doc/txt格式电子书下载

图1.4 进入控制台登录界面

Java EE实用教程:基于WebLogic和Eclipse(第2版)pdf/doc/txt格式电子书下载

图1.5 控制台初始界面

第2章 使用JNDI访问命名和目录服务


当我们在Internet上访问站点时,通常是输入它的名字,而很少会输入IP地址。这就是为我们所熟知的域名系统(DNS),它主要用来识别网络中机器的Internet命名服务。


命名和目录服务用于在分布式计算环境中共享资源,用户在不清楚资源具体位置的情况下,依靠这种服务机制可以获取和使用资源。


2.1 什么是JNDI


Java命名和目录接口(Java Naming and Directory Interface,JNDI),是Java应用程序连接各种命名目录服务的标准API。通过JNDI可以连接到命名或者目录服务上,可以查找命名目录服务上的资源,可以对资源进行更新和删除,也可以在命名目录服务上注册资源。JNDI独立于特定的目录服务实现,是一种接口,通过这组标准的接口可以采用统一的方式来访问所有的命名目录服务。


命名服务


很多计算机系统都会使用命名服务,将名字和对象关联,根据名字访问对象。


当用户使用计算机系统时,总是在命名。例如,访问邮件系统需要知道用户名,访问计算机中的文件需要知道文件的名字。命名系统允许用户按照名字查找对象。


命名服务的主要作用就是为对象指定一个对用户比较友好的名字,例如DNS把域名与IP地址关联起来。


通常根据名字查找对象,名字必须符合命名系统的命名规则。把一个对象与一个名字关联在一起,称为绑定。例如,DNS是主机名到IP地址的绑定。一个命名系统中所有可能的名字集合构成命名空间。一组名字到对象的绑定,称为上下文(context)。


命名系统是一组具有相同类型

....

本站仅展示书籍部分内容

如有任何咨询

请加微信10090337咨询

本站仅展示书籍部分内容
如有任何咨询

请加微信10090337咨询

再显示