JavaEE简介_动力节点Java学院整理

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

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

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

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

J2EE 5的概念

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

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

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

  1. Web组件(Web Component)——web端生成的页面或者对用户请求的返回。代表性的有: Java Servlets, JavaServer Faces 和 Java Server Pages.
  2. 小程序(Applet)——一个小型的Java应用程序可以作为响应的一部分返回给用户,用户可以在他们的浏览器上运行此程序。这种小型的程序是Javascript的竞争对手。
  3. 客户端程序(Application Client)——例如,一个用Java写的桌面应用程序。
  4. EJB(Enterprise Java Beans)——见下文。

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

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

(0)

相关推荐

  • JavaEE实现文件下载

    我们先来看一个最简单的文件下载的例子: 复制代码 代码如下: package com.yyz.response;  import java.io.FileInputStream;  import java.io.IOException;  import java.io.OutputStream;  import javax.servlet.ServletException;  import javax.servlet.http.HttpServlet;  import javax.servlet

  • JavaEE中用response向客户端输出中文数据乱码问题分析

    Web服务器收到客户端的http请求,会针对每一次请求,分别创建一个用于代表请求的request对象,和代表响应的response对象.request和response对象既然代表请求和响应,那我们要获取客户机提交过来的数据,只需要找request对象就行了.要向客户机输出数据,只需要找response对象就行了. 复制代码 代码如下: package com.yyz.response;  import java.io.IOException;  import java.io.OutputStr

  • 详解JavaEE使用过滤器实现登录(用户自动登录 安全登录 取消自动登录黑用户禁止登录)

    在我们生活中,对于账户的自动登录已经很常见了,所以利用过滤器实现这个功能. 主要介绍用户的自动登录和取消自动登录,以及实现一天自动登录或者n天实现自动登录,当用户ip被加入到黑名单之后,直接利用过滤器返回一个警告页面. 过滤器的功能很是强大,我们只需要在写好的前台后servlet之后进行添加就可以实现这个功能 Ps:这个仅仅只是一个演示而已,里面的访问数据库的部分,自己随意模拟了下,主要是突出实现自动登录的功能. 前台代码: 前台代码是成功与否都在这个页面显示.用到的技术:jstl标签的应用,s

  • JavaEE7+Websockets+GlassFish4打造聊天室

    在客户机和服务器之间建立单一的双向连接,这就意味着客户只需要发送一个请求到服务端,那么服务端则会进行处理,处理好后则将其返回给客户端,客户端则可以在等待这个时间继续去做其他工作,整个过程是异步的.在本系列教程中,将指导用户如何在JAVA EE 7的容器GlassFish 4中,使用JAVA EE 7中的全新的解析Json API(JSR-353),以及综合运用jQuery和Bootstrap.本文要求读者有一定的HTML 5 Websocket的基础原理知识. 效果图 我们先来看下在完成这个教程

  • JavaEE Filter敏感词过滤的方法实例详解

    我们在聊天的时候的或者留言的时候,有部分词是不允许发表出来.我们可以采用过滤器实现这个功能. 我们只是简单利用过滤器实现这个过滤的功能,有些地方没写的很全 前台代码: <body> <form action="<c:url value='/WordServlet'/>" method="post"> 姓名:<input type="text" name="name"/><b

  • JavaEE组件commons-fileupload实现文件上传、下载

    一.文件上传概述 实现Web开发中的文件上传功能,需要两步操作: 1.在Web页面中添加上传输入项 <form action="#" method="post" enctype="multipart/form-data"> <input type="file" name="filename1"/><br> <input type="file" n

  • JavaEE中关于ServletConfig的小结

    在Servlet的配置文件中,可以使用一个或多个<init-param>标签为servlet配置一些初始化参数.当servlet配置了初始化参数后,web容器在创建servlet实例对象时,会自动将这些初始化参数封装到ServletConfig对象中,并在调用servlet的init方法时,ServletConfig对象传递给servlet.进而,程序员通过ServletConfig对象就可以得到当前servlet的初始化参数信息. 示例代码如下: 复制代码 代码如下: package com

  • JavaEE实现前后台交互的文件上传与下载

    首先为大家介绍相关的技术: service方法中的两个重要参数. ServletRequest – 用接收用户的请求,它的作用是: 可获取请求头信息. 可设置请请求的字符编码. 可获得用户传递的参数.Post或get. 可获取远程(即访问者)的IP地址. 可获取输入流,如用户上传文件.相片等. 它的一个子接口:javax.servlet.http.HttpServletRequest ServletResponse – 用于向用户返回数据. 设置响应类型- contentType 设置编码-se

  • JavaEE简介_动力节点Java学院整理

    在我们深入J2EE之前,先看一下综述: 多层式应用(Multitier Application)--多层式应用(或者多层式架构)分成多个逻辑部分,大多在多层服务器上实现.例如,三层应用模型:用户和浏览器,应用服务器,数据库服务器.其中应用服务器和数据库服务器就是分别在不同的服务器上来处理应用的请求. 多层式服务(Multitier Service)--以三层架构模型的服务为例,应用服务器响应用户的请求.数据库服务器响应应用服务器的查询求情. Java Bean--由一些包含私有属性的Java类组

  • Nginx简介_动力节点Java学院整理

    1.什么是Nginx Nginx来自俄罗斯的Igor Sysoev在为Rambler Media(http://www.rambler.ru/)工作期间,使用C语言开发了Nginx.Nginx作为Web服务器,一直为俄罗斯著名的门户网站Rambler Media提供着出色.稳定的服务. Igor Sysoev将Nginx的代码开源,并且赋予其最自由的2-clause BSD-like license许可证.由于Nginx使用基于事件驱动的架构能够并发处理百万级别的TCP连接,高度模块化的设计和自

  • Java Map简介_动力节点Java学院整理

    Map简介 将键映射到值的对象.一个映射不能包含重复的键:每个键最多只能映射到一个值.此接口取代 Dictionary 类,后者完全是一个抽象类,而不是一个接口. Map 接口提供三种collection 视图,允许以键集.值集或键-值映射关系集的形式查看某个映射的内容.映射顺序 定义为迭代器在映射的 collection 视图上返回其元素的顺序.某些映射实现可明确保证其顺序,如 TreeMap 类:另一些映射实现则不保证顺序,如HashMap 类. 注:将可变对象用作映射键时必须格外小心.当对

  • Java中Object toString方法简介_动力节点Java学院整理

    一.Object类介绍  Object类在Java里面是一个比较特殊的类,JAVA只支持单继承,子类只能从一个父类来继承,如果父类又是从另外一个父类继承过来,那他也只能有一个父类,父类再有父类,那也只能有一个,JAVA为了组织这个类组织得比较方便,它提供了一个最根上的类,相当于所有的类都是从这个类继承,这个类就叫Object.所以Object类是所有JAVA类的根基类,是所有JAVA类的老祖宗.所有的类,不管是谁,都是从它继承下来的. 二.toString方法介绍  一个字符串和另外一种类型连接

  • Java Set简介_动力节点Java学院整理

    1. 概述   Java 中的Set和正好和数学上直观的集(set)的概念是相同的.Set最大的特性就是不允许在其中存放的元素是重复的.根据这个特点,我们就可以使用Set 这个接口来实现前面提到的关于商品种类的存储需求.Set 可以被用来过滤在其他集合中存放的元素,从而得到一个没有包含重复新的集合. 2. 常用方法 按照定义,Set 接口继承 Collection 接口,而且它不允许集合中存在重复项.所有原始方法都是现成的,没有引入新方法.具体的 Set 实现类依赖添加的对象的 equals()

  • RandomAccessFile简介_动力节点Java学院整理

    RandomAccessFile RandomAccessFile 是随机访问文件(包括读/写)的类.它支持对文件随机访问的读取和写入,即我们可以从指定的位置读取/写入文件数据. 需要注意的是,RandomAccessFile 虽然属于java.io包,但它不是InputStream或者OutputStream的子类:它也不同于FileInputStream和FileOutputStream. FileInputStream 只能对文件进行读操作,而FileOutputStream 只能对文件进

  • Java字符编码简介_动力节点Java学院整理

    1. 概述 本文主要包括以下几个方面:编码基本知识,Java,系统软件,url,工具软件等. 在下面的描述中,将以"中文"两个字为例,经查表可以知道其GB2312编码是"d6d0 cec4",Unicode编码为"4e2d 6587",UTF编码就是"e4b8ad e69687".注意,这两个字没有iso8859-1编码,但可以用iso8859-1编码来"表示". 2. 编码基本知识 最早的编码是iso88

  • Java7之forkjoin简介_动力节点Java学院整理

    Java7引入了Fork Join的概念,来更好的支持并行运算.顾名思义,Fork Join类似与流程语言的分支,合并的概念.也就是说Java7 SE原生支持了在一个主线程中开辟多个分支线程,并且根据分支线程的逻辑来等待(或者不等待)汇集,当然你也可以fork的某一个分支线程中再开辟Fork Join,这也就可以实现Fork Join的嵌套. 有两个核心类ForkJoinPool和ForkJoinTask. ForkJoinPool实现了ExecutorService接口,起到线程池的作用.所以

  • Java List简介_动力节点Java学院整理

    Java中可变数组的原理就是不断的创建新的数组,将原数组加到新的数组中,下文对Java List用法做了详解.  List:元素是有序的(怎么存的就怎么取出来,顺序不会乱),元素可以重复(角标1上有个3,角标2上也可以有个3)因为该集合体系有索引  ArrayList:底层的数据结构使用的是数组结构(数组长度是可变的百分之五十延长)(特点是查询很快,但增删较慢)线程不同步  LinkedList:底层的数据结构是链表结构(特点是查询较慢,增删较快)  Vector:底层是数组数据结构 线

  • jQuery Autocomplete简介_动力节点Java学院整理

    jQuery UI Autocomplete是jQuery UI的自动完成组件,是我用过的最强大.最灵活的Autocomplete,它支持本地的Array/JSON数组.通过ajax请求的Array/JSON数组.JSONP.以及Function(最灵活)等方式来获取数据. 支持的数据源 jQuery UI Autocomplete主要支持字符串Array.JSON两种数据格式. 普通的Array格式没有什么特殊的,如下: ["bjpowernode","动力节点"

随机推荐