J2EE技术之所以赢得广泛重视的原因之一就是EJB.它提供了一个框架来开发和实施分布式商务逻辑,下面是小编整理的关于j2ee与java web的区别,欢迎大家参考!
1、Java
毫无疑问这就是门语言和C、C++、C#一样没什么好说的。
2、Java SE和Java EE
多数编程语言都有预选编译好的类库以支持各种特定的功能,在Java中,类库以包(package)的形式提供,不同版本的Java提供不同的包,以面向特定的应用。
Java2平台包括标准版(J2SE)、企业版(J2EE)和微缩版(J2ME)三个版本:
Standard Edition(标准版) J2SE 包含那些构成Java语言核心的类。
比如:数据库连接、接口定义、输入/输出、网络编程
Enterprise Edition(企业版) J2EE 包含J2SE 中的类,并且还包含用于开发企业级应用的类。
比如:EJB、servlet、JSP、XML、事务控制
Micro Edition(微缩版) J2ME 包含J2SE中一部分类,用于消费类电子产品的软件开发。
比如:呼机、智能卡、手机、PDA、机顶盒
他们的范围是:J2SE包含于J2EE中,J2ME包含了J2SE的核心类,但新添加了一些专有类
应用场合,API的覆盖范围各不相同。
笼统的讲,可以这样理解:
J2SE是基础;
压缩一点,再增加一些CLDC等方面的特性就是J2ME;
扩充一点,再增加一些EJB等企业应用方面的特性就是J2EE。
3、Java Web和Java EE
Java EE是企业级应用平台,Java Web是指所有用于web开发的Java技术。
与传统的CS(客户端与服务器端)架构相比,J2EE Web程序服务器提供了很多额外的技术支持。而且这些技术是一般Web应用程序都需要用到的,但是Web程序开发人员不需要再另行开发,只需要直接拿过来使用即可。具体的来说,在Web应用中主要通过调用现成的API来完成这个功能。而且使用这些技术时,基本上没有什么技术含量。因为在具体工作中使用这些技术都是采用基本固定的格式。命名技术就是其中一个典型的代表。在这篇文章中,笔者根据自己的经验,谈谈这方面使用过程中的注意点。
一、 与传统架构之间的区别。
在使用这个技术之前,笔者认为开发人员至少需要知道,在Web架构与CS架构之间的区别。只有如此,才能够更加全面的了解采用新技术所能够带来的优势。故笔者一开始就着重强调两者之间的差异。
在应用程序开发中,如果一个类A需要调用另外一个类B,则类A需要知道类B的源程序,然后在其中新建一个类B的实例,才能够实现调用。而且当一个程序改变时,还需要重新编译。从这可以看出,类与类之间的连接需要通过实例来完成,他们之间的连接就比较混乱。
而采用J2EE命名服务则不需要这么麻烦。简单的说,JE22命名服务器提供了应用构件程序的命名环境。如果采用了这种技术的话,那么实现类调用时,就可以不通过实例来完成。做一个形象的比喻,命名服务就好像是一个地址簿。当开发人员在程序开发时采用了新的构件或者新建了某个类,那么相关的信息就会都在这个地址簿中登记。作为开发人员的话,就不需要再去查找原始的类,只需要在这个地址簿中查找即可。显然这方面了我们日常的开发工作,可以缩短开发的周期,同时简化类之间的引用。最重要的是,如果以后被引用的类有变化时,不需要编译整个应用程序,而只需要重编译有变化的类即可。
二、 命名服务的核心环节解析。
J2EE命名服务提供各种应用构件程序的统一命名环境。其英文简称是JNDI。从这个英文名字中可以看到,这个命名服务包括两层含义:命名和目录接口。我们在了解这个技术的时候,如果从这两个角度去理解,可能会更加简单一点。JNDI简化了高级Web程序类之间的查找调用。
从技术上来说,JNDI主要是通过API来实现的。JNDI API提供了Web构件进行标准目录操作的方法。举一个简单的例子,可以将对象属性和Java对象联系在一起,或者通过对象属性来查找Java对象。当我们在电话簿中查找某个电话的时候,会现在索引中找到某个人的名字。然后再从这个索引中打开对应的记录,查找这个人的电话、住址等联系信息。JNDI核心的工作思路就是如此。在上面笔者谈到过,这些技术都是采用基本固定的调用格式。也就是说,JNDI已经被标准化。为此应用程序可以通过使用JNDI来访问其他通用的命名服务。如支持常用的We命名协议、DNS等命名架构。笔者认为这点非常的重要。因为其支持多种命名结构,则可以与其他平台的应用系统,如C++等进行很好的系统的整合。