JavaEE开发技术与案例教程第1章-Java课件.ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《JavaEE开发技术与案例教程第1章-Java课件.ppt》由用户(三亚风情)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- JavaEE 开发 技术 案例 教程 Java 课件
- 资源描述:
-
1、第第1章章 Java EE概述概述1.1 Java EE简介简介1.2 Java EE 分层架构分层架构 1.3 Java EE技术规范技术规范 1.4 敏捷轻型框架敏捷轻型框架 1.5 Java EE开发环境开发环境 习题习题 1.1 Java EE简介简介1.1.1 什么是Java EE Java EE是基于Java的解决方案,是Java平台的企业版,是一套技术架构。Java EE的核心是一组技术规范与指南,它使开发人员能够开发具有可移植性、安全性和可复用的企业级应用。Java EE良好定义和设计的体系结构保证了开发人员更多地将注意力集中于架构设计和业务逻辑上 。 1.1.2 Java E
2、E的新特性 1、标注(Annotation) 是Java EE 5引入的一个新特性。标注之于程序是一种元数据,标注这种元数据按照其作用可以分为三类:编写文档、代码分析、编译检查。用于编写文档是通过代码里的标注元数据生成文档,例如Documented,用于定制javadoc不支持的文档属性,并在开发中使用。用在代码分析的标注如Deprecated,指出这是个不建议使用的方法。 引入标注可以实现多种功能的简化,例如:(1)定义和使用Web Service。(2)开发EJB组件。(3)映射Java类到XML文档。(4)映射Java 类到数据库。(5)依赖注入。(6)指定部署信息等。 有了Annota
3、tion,在Web应用开发中直接在代码中使用标注就可以告知Java EE服务器如何部署及运行,而不必再编辑WEB-INF/web.xml文件了。2、EJB 3 EJB 3是EJB 2的升级,不像EJB 2是重量级框架,EJB 3的持久化变更加简化,是轻量级的。它不再需要EJB home接口,不再需要实现SessionBean接口,JDNI API也不再是必需的。EJB部署描述符变成可选的功能。此外,EJB 3中还引入了拦截器功能。拦截器是AOP在EJB中的实现,是可以对Bean 的业务方法进行拦截的组件。拦截器可以用于无状态会话Bean、有状态会话Bean和消息驱动Bean。拦截器用来监听程序
4、的一个或者多个方法,它对方法调用提供了控制。 3、 JPA JPA(Java Persistence API),即数据持久化API,它是一个轻量级的对象持久化模型,是Java EE的又一新特性。Sun公司推出JPA规范目的在于简化现有Java EE和Java SE应用的对象持久化工作,希望统一ORM技术,因为在JPA出现之前,各种ORM框架之间的API差异很大,使用了某种ORM框架的系统会受制于该ORM的标准。 JPA本质上是一种ORM规范,并未提供ORM实现,其具体实现由其他的厂商提供。程序员若要使用JPA,需要选择JPA的实现框架,Hibernate 3即是这样一个实现了JPA的一个框架
5、。 4、 Web Service支持 Web Service是建立可互操作的分布式应用程序的新平台,程序员可能使用COM或DCOM建立过基于组件的分布式应用程序,或者使用CORBA、RMI等技术实现远程调用。Web Service平台也是这样的一套标准,而且它做的更好。它定义了应用程序如何在Web上实现互操作。Web Service平台需要一套协议来实现分布式应用程序的创建。 5、依赖注入 所谓依赖注入(Dependency Injection)是指当某个角色(可能是一个Java实例,调用者)需要另外一个角色(另外一个Java 类的实例,被调用者)的协助时,在传统的程序设计过程中,通常是由调用
6、者来创建被调用者的实例。在一些轻型框架如Spring中,创建被调用者的任务不再由调用者完成,而是由Spring容器完成,然后以某种方式注入给调用者,称为依赖注入,也称为控制反转。 通过依赖注入降低了代码的耦合度,也使得资源访问变得更加容易。6、泛型 泛型(Generics)是程序设计语言的一种特性,支持泛型的程序设计语言允许程序员在编写代码时定义一些可变部分,那些部分在使用前必须作出指明。各种程序设计语言和其编译器、运行环境对泛型的支持均不一样。将类型参数化以达到代码复用提高软件开发工作效率的一种数据类型。泛型主要是引入了类型参数这个概念。Java EE 5通过引入泛型,使得集合元素类型参数化
7、,避免了运行时出现类型转换错误,因此不必要加入显式强制类型转换的操作了。下面的例子对此作了说明:不使用泛型时:ArrayList list = new ArrayList();list.add(0,new Integer(42);int total = (Integer)list.get(0).inValue();使用了泛型后:ArrayList list = new ArrayList();list.add(0,new Integer(42);int total = list.get(0).inValue();读者可以体会这两个例子之间的微妙差异,进而理解用反型的好处。 7、枚举枚举类型是J
8、ava EE 5开始引入的类型,本质上枚举类型就是一个命名变量的列表。枚举类型通过关键字enum来声明。下面是一个枚举的例子:public enum Week Monday, Tuesday, Wednesday, Thursday, Friday, Saturday, Sunday对命名常量可以通过类似对象成员的方法或者通过方法values()、valueOf()、ordinal()、name()等方法进行存取操作。下面的for循环将输出枚举的所有命名常量。for(Week w:Week.values() System.out.println(w);8、增强的for循环Java EE 5中的
9、增强的for循环简化了数组和集合的遍历操作,其语法更简单,可以防止下标越界的问题出现,而且还可以避免由于强制类型转换导致的错误。下面是一个使用增强for循环对数组元素进行遍历的例子。int a = 1,2,3,4,5,6;for(int num:a) System.out.println(num); 9、函数可变参数 Java EE 5之前,方法的参数个数是固定的。Java EE 5允许创建具有可变参数的方法,这使得某些操作变得更方便了。下面的程序例子可以说明这一点。public class VarArgumentpublic static void main(String args) Sys
10、tem.out.println(add(2,3); System.out.println(add(2,3,4,5);public static int add(intargs) int sum = 0; for(int i =0;iargs.length;i+) sum += argsi; return sum;10、静态导入 在Java EE 5之前的版本中,程序中使用静态成员要在其前面加类名引导。Java EE 5引入静态导入意味着不必再写类名,而是直接通过静态成员的名字来访问它们。例如: /静态导入 import static java.lang.System.*; import sta
11、tic java.lang.Math.*; /调用静态成员 out.println(sqrt(6); /不再是Math.sqrt(6)1.2 Java EE分层架构分层架构1.2.1分层模式概述 分层模式是常见的架构模式。分层描述的是这样一种架构设计过程:从最低级别的抽象开始,称为第1层。在此基础上逐步向上进行抽象。直至达到功能的最高级别。 分层模式的特点包括:l伸缩性:伸缩性是指应用程序能支持更多用户的能力。应用的层数少,可以增加资源(如CPU、内存等)的机会就少。反之,则可以把每层分布在不同的机器上。l可维护性:指的是发生需求变化时,只需修改软件的局部,不必改动其他部分的代码。l 可扩展性
12、:可扩展性是指在现有系统增加新功能的能力。分层的结构中可扩展性较好,这是由于可以每个层中插入功能扩展点,而不改变原有的整体框架。l 可重用性:可重用性指的是同一程序代码可以满足多种需求的能力。例如,业务逻辑层可以被多种表示层共享,即业务逻辑层的代码被重用了。l 可管理性:指管理系统的难易程度。1.2.2 Java EE的结构Java EE使用多层分布式的应用模型,该模型通过四层来实现,分别为:客户层:运行在客户计算机上的组件。Web层:运行在Java EE服务器上的组件。业务层:同样是运行在Java EE服务器上的组件。企业信息系统层(EIS):是指运行在EIS服务器上的软件系统。有时我们把客
13、户层和Web层视为一个层,这样就可以将以上结构按三层来划分,如下图所示。 在这个分层体系中,客户层组件可以使基于Web方式的,也可以是基于传统方式的。Web层组件可以使JSP页面或者Servlet。 对于业务逻辑层组件,其代码是处理如银行、零售等具体行业或领域的业务需要,由运行在业务层上的Enterprise Bean进行处理。 企业信息系统层处理企业信息系统软件,包括企业基础建设系统,例如企业资源计划(ERP)、大型机事务处理、数据库系统和其他遗留系统。1.3 Java EE技术规范1JDBC(Java Database Connectivity)JDBC API为访问不同的数据库提供了一种
14、统一的机制,像ODBC一样,JDBC使操纵数据库的细节对开发者透明,另外,JDBC对数据库的访问也具有平台无关性。2JNDI(Java Name and Directory Interface)名字和目录服务,为应用提供一致的模型来访问企业级资源,如DNS和LDAP、本地文件系统或应用服务器中的对象。 3EJB(Enterprise Jav Bean) 企业Java组件,提供一个框架来描述分布式商务逻辑,开发具有可伸缩性和复杂的企业级应用。EJB规范定义了组件何时如何与它们的容器进行交互。容器负责提供公用的服务,如目录、事务管理、安全性等。需要说明的是,EJB并不是实现Java EE企业应用的
15、惟一渠道,它的意义在于它是专为分布式大型企业应用而设计,用它编写的程序具有良好的可扩展性和安全性。4RMI(Remote Method Invoke)远程方法调用,顾名思义,它用于调用远程对象的方法。它使用了序列化方式在客户端和服务器端传递数据。5Java IDL/CORBA(Java Interface Definition Language/Common Object Request Broker Architecture) Java 接口定义语言/公用对象请求代理结构。为 Java平台添加了 CORBA(Common Object Request Broker Architecture,
16、公用对象请求代理体系结构)功能,从而可提供基于标准的互操作性和连接性。 Java IDL 使分布式、支持 Web 的 Java 应用程序可利用 Object Management Group 定义的行业标准 OMG IDL(Object Management Group Interface Definition Language,对象管理组接口定义语言)及 IIOP(Internet Inter-ORB Protocol,Internet对象请求代理间协议)来透明地调用远程网络服务。运行时组件包括一个全兼容的 Java ORB,用于通过 IIOP 通讯进行分布式计算。 6JSP(Java Se
17、rver Pages) JSP页面由HTML代码和嵌入其中的Java代码组成。服务器在页面被客户端请求以后,对这些Java代码进行处理,然后将生成的HTML页面返回给客户端的浏览器。7Java Servlet Servlet是运行在服务器端的Java程序,它扩展了Web服务器的功能。作为一种服务器端的应用,当被请求时开始执行。Servlet提供的功能和JSP一致,只是二者的构成不同。JSP通常是HTML代码中嵌入Java代码,而Servlet全部由Java 写成并且生成HTML。8XML(eXtensible Markup Language) 扩展的标记语言,用来定义其他标记语言的语言。作为数
展开阅读全文