您的位置:首页 > 其它

J2EE学习笔记一:相关概念和基础知识

2007-11-18 18:45 826 查看
最近在看一本关于J2EE的英文书,名字很牛逼,叫做:Beginning J2EE 1.4:
From Novice to Professional,从J2EE菜鸟到高手,为了成为传说中的高手,我决定拜读此书,希望通过此书能够对J2EE有一定的了解,俺不奢望成为高手,能够开发出EJB就行咯,^_^,为了留下痕迹,决定做下学习笔记。
一、什么是J2EE
刚学Java的时候就知道有个Java 2企业版,即J2EE,但是一直不知具体是干啥的,而且也经常听到这个名词,那么它到底是什么呢?J2EE是一系列标准的组件、容器以及服务的集合,这些组件、容器或者服务可以用来在一个定义良好的计算机体系中创建和部署分布式应用。(It’s a collection of standardized components, containers, and services for creating and deploying distributed applications within a well-defined distributed computing architecture.) J2EE所提供的标准组件能够有助于软件的部署,它提供的标准接口定义了各种软件模块是怎样相互连接的,它提供的标准服务定义了不同的软件模块之间是如何通信的。我们可以将J2EE看成是一个用来开发分布式企业软件应用系统的平台。
二、J2EE与J2SE之间的关系
J2SE提供了必要的语言框架,而J2EE正是基于这个框架的,可以说J2EE的每一个组件都是基于J2SE的。
三、为什么使用J2EE
任何技术都会列出最忌的一堆好处,J2EE也不例外,书中列出的好处有:
● 分层体系架构
● 平台的独立性
● 可伸缩性
关于分层的好处已经快将烂了,如可管理、可维护、可重用性好等等之类的,至于平台的独立性,就是说我们可以一种一致的方式来开发企业级应用而不用关心底层的应用服务器是什么。所有的J2EE服务器都必须实现一组相同的接口,这组接口是由J2EE规范定义的,这就意味着我们可以在一个J2EE Server(如Websphere)上开发我们的应用,而将它部署在另一个J2EE Server(如Weblogic)上。尽管如此,不同供应商所提供的J2EE实现之间还是有差别的,如果没有市场差异,也就没有竞争了,毕竟J2EE规范只涵盖了一部分,还有一部分J2EE规范是没有包括的。因此我们的开发环境和生产环境最好都使用相同的平台和技术,这样可以避免不必要的麻烦。至于伸缩性则是指当用户访问量超过了预期值时,J2EE能够方便的进行调整以适应吞吐量、性能等方面要求的变化。
四、J2EE的特征与概念
这里主要是讲述了J2EE里面一些重要的特性或者术语,有助于更好的理解J2EE,我只写了一些对我帮助挺大的概念:
客户端:一个J2EE的客户端可以是一个用Java编写的文本控制台应用,也可以是一个用JFC或者Swing开发的GUI应用。这类客户端通常称之为胖客户端,因为它们具备一定数量的支持代码;一个J2EE的客户端还可能是基于web的客户端,它们是生存与浏览器里面的客户端,几乎没有什么支持代码,这类客户端通常称之为瘦客户端,它可能是一个纯粹的HTML页面或者一个简单的applet。
服务端:J2EE应用服务器才是连接客户端应用和商业逻辑的真正服务端。由应用开发者创建的服务端组件可以以web组件和商业组件的形式存在。Web组件是以JSP和Servlet的形式存在的,而商业组件在J2EE的世界里面则是大名鼎鼎的EJB了。这些服务端组件都依赖于J2EE框架,J2EE以容器的形式为这些服务端组件提供支持。
容器:容器这个概念确实不好理解,给出的定义俺也理解的不透彻。举个例子,就像小时玩的小霸王游戏机,一般要插游戏卡才能玩。那个游戏机就相当于一个容器,而游戏卡就相当于我们的应用。游戏卡不用去管游戏是如何展示给用户的,也不用管使用什么样的控制器,也不用管家庭电压是多少伏,这些都由游戏机(容器)自己来搞定。另一个例子就是java里面的applet,浏览器是applet的容器,我们不用去官浏览器是如何去展示applet的,我们只需专注于applet的编写。J2EE中的容器就是这样的,它负责处理所有的基础服务:如启动服务、激活应用逻辑、关闭服务等,总之我们只需关注于我们的业务逻辑和要解决的问题即可,别的东西容器都可以帮我们搞定。上面说J2EE以容器的形式为服务端组件提供支持,在J2EE中不仅提供了Web组件的容器也提供了商业组件的容器,J2EE中包括有:EJB容器、JSP容器、Servlet容器、J2EE客户端容器。容器替企业级应用把一些基本的事情都做了,譬如安全、事务支持等等。
EJB:EJB之于J2EE就像米老鼠之于迪士尼,它是J2EE平台的旗舰技术。EJB可以以3种形式存在:session bean、entity bean、message bean。session bean的主要作用是要客户端提供应用服务,这些应用服务是由应用开发者定义和设计的。entity bean代表应用领域中的商业对象,如消费者、报告单等,这些商业对象是持久化的,可以任意存储和获取。message bean提供了一个组件模型来监听消息服务。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: