JavaEE概念介绍

         这篇文章主要介绍在J2EE范例中使用的缩写词和概念。J2EE(Java 2 Platform, Entreprise Edition)代表Java企业版平台。它使得模块化的Java程序可以在服务器上部署。Java SE是一组Java核心库,Java应用程序在其上得以执行,而J2EE是基于Java SE的。

概念综述

         在我们深入J2EE之前,先看一下综述:

         多层式应用(Multitier Application)——多层式应用(或者多层式架构)分成多个逻辑部分,大多在多层服务器上实现。例如,三层应用模型:用户和浏览器,应用服务器,数据库服务器。其中应用服务器和数据库服务器就是分别在不同的服务器上来处理应用的请求。

         多层式服务(Multitier Service)——以三层架构模型的服务为例,应用服务器响应用户的请求。数据库服务器响应应用服务器的查询求情。

         Java Bean——由一些包含私有属性的Java类组成,对外提供get和set方法。从技术上讲,这些类必须保证有一个不含参数的构造器并且实现Serializable接口。

J2EE 的概念

         Java EE应用程序模型——这个模型描述了一个实现服务的多层架构。“什么是服务”没有明确的界限。事实上,服务只是一个逻辑上的概念,它的对应实体取决于应用实现的概念。例如,客户端/服务器模型就是一种服务。

         Java EE 服务——这是一个J2EE中三层架构的应用服务范例。它是由网页层(服务JSP页面)和事务层(管理企业的数据层)组成的。

         Java EE 组件——“组件”是指独立的软件单元,可以和其他的组件组合来建立一个应用。

         Web组件(Web Component)——web端生成的页面或者对用户请求的返回。代表性的有: Java Servlets, JavaServer Faces 和 Java Server Pages.

         小程序(Applet)——一个小型的Java应用程序可以作为响应的一部分返回给用户,用户可以在他们的浏览器上运行此程序。这种小型的程序是Javascript的竞争对手。

         客户端程序(Application Client)——例如,一个用Java写的桌面应用程序。

         EJB(Enterprise Java Beans)——见下文。

         Java EE 客户端——这个概念中包含三个其他的概念:

         网页客户端(Web Client)或小型客户端(thin client)——以前(也不是非常久以前),客户端的请求返回的网页会包含脚本代码,这些代码会在应用服务器上执行了再将运行结果返回给客户端。这就是EE客户端。比如,用户可以查询员工的信息,并且对不同的结果按照他们喜欢的方式排列。现在,大多数开发者都不是在网页中使用脚本了,因为这不是个好习惯。他们更喜欢使用MVC设计原则,即禁止在网页中使用脚本。

         小程序(Applet)

         应用客户端(Application Client)

         Java EE 服务器通信(Java EE Server Communication)——这是指发生在小型客户端和应用客户端之间在服务器上的通信。具有代表性的是,小型客户端和小程序在Web层通信,但是应用客户端在EJB通信。

         你觉得这不够清晰是吗?你觉得这很麻烦是吗?这就对了!这就是REST以及MVC设计原理现在在开发中流行的缘故。

         EJB(企业级Java Beans,Enterprise Java Beans)——这是一个逻辑概念,与传统的Java Beans无关。它主要试图从多重应用的后端(也就是服务器端)来压缩事务逻辑。其中一个它试图解决的问题是确保数据库中事务处理的完整性。警告:EJB有多个版本,并且3.0版本已经从早期的版本分离出来。

         JavaBean Component——Java Bean 的同义词,主要用在JSP范例中。

         Java EE容器(Java EE Container)——这是部署组装Java EE组件的地方(也就是应用程序服务器)。它定义了Web容器(包含servlets和JSP),还定义了EJB容器(包含的企业级Java Bean)以及应用客户端容器(运行独立的应用程序)和在浏览器上运行的小程序容器。

         部署描述符(Deployment Descriptor )——这是一个为打包好的应用提供部署信息的XML文件,点击查看更多信息。

         SOAP(简单对象访问协议,Simple Object Access Protocol)——这是一个通过网络提供的服务传输信息的协议。信息是通过XML构建的,能够通过多个传输交换层,多数情况下是HTTP。SOAP是JSON和REST-like服务的竞争对手。

         WSLD(网络服务描述语言,Web Service Description Language)——它用XML文件来描述了网络服务(名字,地点,通信模式)。

         UDDI(通用描述、发现与集成服务,Universal Description, Discovery and Integration)——一种ebXML规范,可以在线发布有关产品和服务的信息。

         Java Servlet——是用Java写的一个服务器端小程序,可以处理用户的HTTP请求,返回结果。

         JSP (JavaServer Page)——一种基于HTML文件(就是一个模板)处理之后能够生成静态内容。可以包含脚本代码的片段,以在最终生成的脚本静态文件中生成。

         JSTL(JSP标准标签库,JavaServer Page Standard Tag Library)——一组可以模仿脚本代码功能的用在JSP的标准标签。例如,遍历客户端并显示他们对应的信息。现在,在JSP中,这样的标签已经已经取代了脚本代码。一般用于生成需要填充信息的页面。

         JSF (Java Server Face)——包含JSF标签(类似于LSTL标签)的JSP页面。此外,JSF允许在页面中定义导航模块(类似于Spring web flow),包括Facelets。

         Facelets——Facelets是JSF的MVC视图部分。它的主要功能是利用提供的数据(例如客户端列表)将模板转换成HTML文件。它也可以将生成的文件(例如HTML主体)提取出来一部分并到另一个模板中,相当于Sitemesh。

         The Java API for XML-based Web Services (Java中用来创建基于XML的Web的API,JAX-WS)——对于使用XML通信的Web服务来说至关重要。

         The Java API for XML Binding (序列化为XML的API,JAXB)——一种可以在JavaBeans和XML文件之间相互转化的方式点击查看更多信息。

         JTA (Java事务处理API,Java Transaction API) ——划清数据库中上行和下行的通信界限。

         JMS(Java信息服务,Java Message Service)——这个API保证服务器和应用在网络上的通信可靠、异步。ActiveMQ实现了JMS。

         JavaMail API——提供通过应用程序发送邮件方式。

         JAXP(加工XML文件的API,Java API for XML Processing)——提供了处理XML文件的方式。

         JAXR(提供XML注册的API,Java API for XML Registries)——一个可以注册包含了元数据的XML的API。

         JDBC(Java数据库连接,Java Database Connectivity)——这个API可以使应用程序直接通过SQL通信来访问数据库。

         JCA(J2EE连接器架构,Java EE Connector Architecture)——使应用程序能和信息系统(通常是数据库)通信。点击查看更多

         JPA(Java持久化API,Java Persistence API)——这是一个在数据库中存储对象的ORM(对象关系表,Object/relational mapping)定义。点击查看范例

         JNDI(Java命名和目录接口)——一种能存储和检索资源或者通过名字查找信息的方式,点击查看更多

         JAAS(Java鉴别与授权服务,Java Authentication and Authorization Service)——识别并控制服务权限的一张方式。

J2EE 6的概念

         在J2EE6中,大量的配置可以在源代码中执行。

         JAX-RS——定义REST(含状态传输)之类的服务的API。

         Managed Beans——一个可以执行嵌入代码的Java对象。在Sping框架中,这是一些添加了@Autowired注释的对象。

         CDI(上下文和依赖注入,Contexts and Dependency Injection for Java EE)——CDI是Java EE整个下一代类型安全的依赖注入的事实上的API。在Sping框架中,应用程序可以设计应用的上下文,控制反转(IoC)和依赖注入功能(DI)。

         Bean确认——通过设定好的规则判断Java Beans的状态是有效的。

         JACC(Java Authorization Contract for Containers)——在J2EE应用服务器和特定的授权认证服务器之间定义的一个连接的协约。

         JASPIC(Java认证服务提供者接口,Java Authentication Service Provider Interface)——这是与JACC互补认证的SPI(也就是服务API,Service API)。它定义了应用程序如何通过传统的认证服务。

总体上说,J2EE和Spring框架慢慢的朝着一个相同的方向发展。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 216,651评论 6 501
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 92,468评论 3 392
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 162,931评论 0 353
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,218评论 1 292
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,234评论 6 388
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,198评论 1 299
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,084评论 3 418
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,926评论 0 274
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,341评论 1 311
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,563评论 2 333
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,731评论 1 348
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,430评论 5 343
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,036评论 3 326
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,676评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,829评论 1 269
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,743评论 2 368
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,629评论 2 354