Java Platform,Enterprise Edition (Java EE) 作为业界标准使用Java语言来编写企业级的程序。基于稳固的Java平台基础和Standard Edition (Java SE),Java EE新增了一些库和系统服务以支持扩展性,访问性,安全性,整合性以及其他企业级程序的需求。
自从1999年它的最初发布,Java EE已经成长为一个拥有丰富函数且高性能的平台。平台最近发布的版本也强调了使用的简洁与简易。但事实上,随着当前发布的平台,Java EE 5,企业级程序的开发从未变得更加简单迅速。
过程还在继续。平台下一个发布版本,Java EE 6,加入了意义重大的新技术,其中的一些受到了生机勃勃的Java社区的启发。它使得平台更加简化,扩展的可用性改善了之前的Java EE发布版本。
本文强调了一些Java EE 6中的一些重大改善。
Contents
Java EE 6 目标
强大的新技术
增强的Web层功能
EJB技术,使用起来更加简易
更加完整的Java持久化API
更容易的开发
Profiles and Pruning
摘要
更多信息
评论
Java EE 6 目标
这些是Java EE 6平台的主要目标 :
l 更加灵活的技术栈 随着时间的增长,Java EE变得很大,在某些情况下对某些确定类型的程序来说简直是臃肿。作为补救,Java EE 6引进了profiles的概念,Java EE平台的配置为程序的一些特有的类进行设计。一个profile或许包含一个源自Java EE平台技术,其他的源自Java 标准化组织认可的技术的子集,但并不是Java EE或两者的一部分。J2EE引入的这些profiles的第一个,就是Web Profile,一个Java EE平台的子集,用于设计web程序开发。Web Profile仅仅包含大多数web程序开发人员需要的技术,而不包括那些开发人员明显不需要的企业技术。
另外,Java EE 6平台已经支持许多用于pruning的候选技术。这些候选技术包括那些被新技术替代的技术,或者是那些并未被广泛部署的技术。Pruning一个技术意味着在下一次发布中它将变为一个可选的而不是必选的部分。
l 增强的扩展性 时间更迭,对于web程序或企业程序的开发人员来说,那些可以使用的新技术变得有吸引力。与其将这些技术添加到平台,从而使其无限制的增长,Java EE 6选择了比之前提供更多的可扩展点和服务提供接口。这允许在你的Java EE 6的标准执行过程中外挂一些技术—甚至是框架。之后你便像使用Java EE 6 平台内置的组件一样简单的使用这些技术。
重点强调的扩展性曾被置于web层之上。Web程序的开发人员经常在他们的项目中使用第三方的框架。但是,注册这些框架导致Java EE web程序变得复杂,常常需要开发人员添加或修改庞大且复杂的XML配置文件。Java EE 6中这些框架将自行注册,这使得它在一个项目中的整合与配置变得简单。
l 更简单的开发 Java EE 5可以使得开发web和企业程序变得更加的简易。比如,Java EE 5引进了一个更加简单的基于Plain Old Java Objects (POJOs)和注释的企业程序设计模型,并且剔除了XML配置的需要。另外,Enterprise JavaBeans (EJB)技术是经过简化的,仅需更少的类和接口利用Java Persistence API (非正式地指JPA)就可以提供更加简单的对象相关的映射方法。
Java EE 6 开发企业或web程序甚至比这还要简单。在平台中可用性在很多地方都得到了改进。例如,你可以使用注释来定义诸如servlet和servlet过滤器这类web组件。此外,一系列用于依赖注入的注释变得标准化,这使得框架中的可注入的类更加巧妙。此外,Java EE程序简化了打包需求。例如,你可以向一个web archive (WAR)文件中直接添加enterprise bean。而无需将一个enterprise bean打包进一个Java archive (JAR)文件,然后再将该JAR放入一个enterprise archive (EAR)文件
强大的新技术
Java EE 6添加了重要的新技术使得平台更加强大。下面是其中的三个:
l 用于RESTful Web Services的Java API (JAX-RS)
l Java EE平台的上下文及依赖注入 (CDI)
l Bean验证
用于RESTful Web Services的Java API(JAX-RS)
用于RESTful Web Services的Java API (JAX-RS), JSR 311使得你可以迅速创建符合软件结构Representational State Transfer (REST)风格的轻量级web服务。REST中的一个重要概念就是资源的存在性,每一个设计到全局标识符的就是,一个URI。尤其是,数据和函数资源可以通过URI识别并访问。为了操作这些资源,网络的组件,客户端和服务端,通过一个标准化的接口进行交流,例如HTTP和一系列短小的固定的动词—GET,PUT,POST和DELETE并且交换这些资源的表现。
RESTful web services是按照REST结构风格创建的web services。通过RESTful方法创建web services涌现出的一个流行的选择就是使用基于SOAP的技术。感谢REST的轻量级和直接通过HTTP传播数据的能力。
JAX-RS提供了一个在Java中创建Restful web service的标准API。该API提供了一系列的注释,相关类和接口。应用注释于POJO中可以让你接触web资源。在Java中这种方法让创建RESTful web services变得简单。
最初发布的技术的说明,JAX-RS 1.0,于2008年10月完成,而且一个叫做Jersey的参考案例也可以使用了。Java EE 6包含最新发布的技术,JAX-RS 1.1,一个维护版本,令拥有新特性的JAX-R共同溶合于Java EE 6。
让我们看看使用了JAX-RS的RESTful web services
import javax.ws.rs.Path;
import javax.ws.rs.Produces;
import javax.ws.rs.Get;
import javax.ws.rs.Post;
import javax.ws.rs.Consumes;
import javax.ws.rs.core.Response;
import javax.ws.rs.core.MediaType;
import javax.ws.rs.core UriInfo;
import javax.ws.rs.core.UriBuilder;
import java.net.URI;
@Path ("items")
@Produces (MediaType.APPLICATION_XML)
Public class ItemsResource {
@Context UriInfo uriInfo;
@GET
Items listItems() {
Return Allitems();
}
@POST
@Consumes (MediaType.APPLICATION_XML)
Public Response create(Item item) throws ItemCreationException {
Item newItem = createItem(item);
URI newItemURI = uriInfo.getRequestUriBuilder().path(newItem.getId()).build();
return Response.created(newItemURI).build();
}
...
}
在这个例子中,ItemsResource
就是一个管理了一系列项目的webservice。Import的那些类用于JAX-RS 1.1的注释,类和接口。
@Path
注释指定了资源的一个相对路径,在这里就是"items"
。类资源的URI是基于程序的上下文。所以如果这个例子中程序的上下文是http://example.com
,类资源的URL是http://example.com/items
。这意味着如果客户端直接访问URI http://example.com/items
,类ItemsResource
就会处理它。
@GET
注释指定了注释的方法,这里listItems()
方法处理HTTP GET方法。当一个客户端为了访问ItemsResource
资源直接向URI发起一个HTTP GET请求,JAX-RS运行时调用listItems()
方法处理GET
请求。
注意@Produces
注释。它指定了资源中的方法可以生产并返回的MIME media类型。在ItemsResource
例子中,@Produces
注释指定MediaType.APPLICATION_XML
。The MediaType类是一个MiME media类型的抽象。
Constants向类提供对抽象的特定的media type的检验。MediaType.APPLICATION_XML
规范是MME media type的XML内容的抽象,"application/xml".。
- 大小: 38 KB
分享到:
相关推荐
Part V: Contexts and Dependency Injection for the Java EE Platform 303 Chapter 17: Introduction to Contexts and Dependency Injection for the Java EE Platform 305 Overview of CDI 306 About Beans 307...
Java EE,全称为Java Platform, Enterprise Edition,是Java平台针对企业级应用开发的一套标准和框架集合。它是由Oracle公司主导并维护的,为构建分布式、多层的企业级应用程序提供了全面的API和服务。这个压缩包...
JAVA EE,全称为Java Platform, Enterprise Edition,是Java平台针对企业级应用开发的版本,它提供了丰富的API和服务,包括Servlet、JSP、EJB、JMS、JPA、JTA等,用于构建分布式、多层架构的企业级应用程序。...
1. **Web 应用程序开发**:介绍了如何使用 Java EE 6 的 Web 层技术,包括 Servlets 和 JavaServer Pages (JSP),来构建动态网站。 2. **JSF 技术**:详细讲解了 JavaServer Faces (JSF),这是一种用于构建基于组件...
- **EAP(Enterprise Application Platform)**:JBoss BPM Suite运行在JBoss EAP上,这是一个基于Java EE的轻量级应用服务器。 4. **特性**: - **流程建模**:通过图形化工具如Jbpm Workbench,用户可以创建和...
### Android Learning Notes (Part 1): Understanding the Platform and SDK #### 1. Android Platform Architecture Android is a comprehensive operating system designed for mobile devices, offering a rich...
J2EE(Java Platform, Enterprise Edition)是一个用于构建企业级应用的开放标准平台,它包括了各种服务、API和容器,如Servlet、JSP、EJB(Enterprise JavaBeans)、JMS(Java Message Service)、JPA(Java ...
"eclipse-jee-mars-1-win32part0" 指的是Eclipse针对Java企业版(Java Enterprise Edition, JEE)的一个特定版本,Mars 1,适用于Windows 32位操作系统。 Eclipse Mars是Eclipse IDE的第4.5.1版本,发布于2015年。...
《深入掌握J2EE编程技术》是一本专为Java企业级应用开发人员设计的深度学习教程,其第二部分(.part02)可能涵盖了J2EE技术栈中的多个关键概念和实践技巧。J2EE,全称为Java 2 Platform, Enterprise Edition,是...
### 轻量级J2EE企业应用实战(Part 1) #### 一、引言 随着信息技术的不断发展,企业级应用的需求日益增加。在众多的企业级应用开发平台中,J2EE(Java 2 Platform, Enterprise Edition)以其强大的功能和灵活性...
J2EE,即Java 2 Platform, Enterprise Edition,是Java平台上的一个标准,用于构建分布式、多层的企业级应用。这个部分主要涵盖的是该书籍的第三部分,可能包括中间件服务、Web组件、EJB(Enterprise JavaBeans)...
Java EE focused on a few technologies, largely to the detriment of alternative, better solutions. When the Spring framework debuted, few would have agreed that Java EE represented the best-in-breed ...
EJB(Enterprise JavaBeans)3.0是Java EE(Enterprise Edition)平台中的一部分,它提供了一种用于构建可部署在服务器端的企业级应用程序的框架。EJB 3.0引入了许多改进,使得开发过程更加简洁,降低了对XML配置的...
java.se.ee Defines the full API of the Java SE Platform. java.security.jgss Defines the Java binding of the IETF Generic Security Services API (GSS-API). java.security.sasl Defines Java support for...
根据提供的文件内容,以下是对Servlet3.1规范官方文档(中文版)中的知识点的详细说明。...通过阅读此文档,开发者能够掌握如何在Java EE平台上构建Web应用,提高开发效率,并确保应用的可移植性和可扩展性。
例如,它有内置的Java服务器页面(JSP)和Servlet编辑器,以及用于Java EE项目的项目模板。Eclipse的Web Tools Platform (WTP)提供了对各种Web框架(如Spring、Struts)的支持,以及用于调试、部署和测试Web应用的...
Eclipse Indigo SR2 (3.7.2) w/ Web Tools Platform 3.3.2 (ie: the Java EE Developer bundle) Installation In Eclipse, go to Help >> Install New Software... then either use the update site URL, or ...
Apache Geronimo is a robust and flexible open-source Java EE (previously known as J2EE) application server. The "geronimo-book.pdf" provides detailed guidance on installing, configuring, and deploying...