- 浏览: 639685 次
- 性别:
- 来自: 北京
最新评论
-
2047699523:
java hibernate demo使用实例教程源代码下载: ...
hibernate延迟加载的原理与实现 -
在世界的中心呼喚愛:
hantsy 写道这种lazy的解释只对了一半,按java p ...
hibernate延迟加载的原理与实现 -
moguicy:
看了下时间,不是楼主是否还在开发
【翻译】Wicket启示录——理论与实践(一) -
xfan0828:
"最后但并不是最不重要的一点就是" BZ, ...
【翻译】深入浅出 EJB3.1(上) -
doudou87323:
十分感谢,正在学习中,受益匪浅
【翻译】深入浅出 EJB3.1(上)
<!-- [if gte mso 9]><xml> <w:WordDocument> <w:View>Normal</w:View> <w:Zoom>0</w:Zoom> <w:PunctuationKerning/> <w:DrawingGridVerticalSpacing>7.8 磅</w:DrawingGridVerticalSpacing> <w:DisplayHorizontalDrawingGridEvery>0</w:DisplayHorizontalDrawingGridEvery> <w:DisplayVerticalDrawingGridEvery>2</w:DisplayVerticalDrawingGridEvery> <w:ValidateAgainstSchemas/> <w:SaveIfXMLInvalid>false</w:SaveIfXMLInvalid> <w:IgnoreMixedContent>false</w:IgnoreMixedContent> <w:AlwaysShowPlaceholderText>false</w:AlwaysShowPlaceholderText> <w:Compatibility> <w:SpaceForUL/> <w:BalanceSingleByteDoubleByteWidth/> <w:DoNotLeaveBackslashAlone/> <w:ULTrailSpace/> <w:DoNotExpandShiftReturn/> <w:AdjustLineHeightInTable/> <w:BreakWrappedTables/> <w:SnapToGridInCell/> <w:WrapTextWithPunct/> <w:UseAsianBreakRules/> <w:DontGrowAutofit/> <w:UseFELayout/> </w:Compatibility> <w:BrowserLevel>MicrosoftInternetExplorer4</w:BrowserLevel> </w:WordDocument> </xml><![endif]--><!-- [if gte mso 9]><xml> <w:LatentStyles DefLockedState="false" LatentStyleCount="156"> </w:LatentStyles> </xml><![endif]--> <!-- [if gte mso 10]> <style> /* Style Definitions */ table.MsoNormalTable {mso-style-name:普通表格; mso-tstyle-rowband-size:0; mso-tstyle-colband-size:0; mso-style-noshow:yes; mso-style-parent:""; mso-padding-alt:0cm 5.4pt 0cm 5.4pt; mso-para-margin:0cm; mso-para-margin-bottom:.0001pt; mso-pagination:widow-orphan; font-size:10.0pt; font-family:"Times New Roman"; mso-ansi-language:#0400; mso-fareast-language:#0400; mso-bidi-language:#0400;} </style> <![endif]-->
JSF 2.0
尽管 Java 在展示层框架上竞争的非常激烈,但 JSF 仍然固守着自己的领地。虽然有很多关于 JSF 的易用性和健壮性的质疑声,但 JSF2.0 就是为正面解决这些问题而提出来的,它的易用,创新以及可扩展的特性包括:
<!-- [if !supportLists]-->l <!-- [endif]-->JSF 正式将 Facelets 作为视图技术。也许你不熟悉 Facelets ,它也是一个与 JSF 结合默契的开源视图技术。因此,与 JSP 不同的是 Facelets 更适合 JSF 的组件模型以及生命周期的概念。当然,也许 Facelets 最强大的特性就是在用 mark-up 来代替 java 代码创建自定义的组件。创建自定义组件的复杂度也许是开发者对 JSF 抱怨最多的地方了。
<!-- [if !supportLists]-->l <!-- [endif]-->JSF2.0 通过使用标签为 Java EE 5 提供了基于 annotation 驱动的配置特性(比如说可以使用 @ManagedBean 和 @ManagedProperty )。这也意味着可以一定程度上的减少 faces-config.xml 文件的大小,不过像在 navigation 这些结点的配置在 XML 文件还是不能少。
<!-- [if !supportLists]-->l <!-- [endif]-->JSF2.0 为适应 AJAX 而改变了自身的生命周期,只需要局部页面的交由 AJAX 事件处理。这个特性使得 JSF+AJAX 的组合更加自然。
<!-- [if !supportLists]-->l <!-- [endif]-->JSF2.0 现在内置了优秀的资源处理器。对 images , JavaScript 文件以及 CSS 样式等都表现出众。它可以对通过逻辑名称,资源分组以及版本等方式来更好的引用资源。
除上述特性外, JSF2.0 还包括许多其它方便的改变。比如说支持事件,支持 RAILS_ENV 的开发风格 ( 就是 ROR) ,支持对标准组件集进行扩展。你可以通过下面的链接来看看 JSF2.0 的公开草案: http://jcp.org/en/jsr/detail?id=314
EJB 3.1
EJB 在 Java EE 5 就已经经历过了非常大的改动。也许看似不可能,但实际上 EJB3.0 还是在社区中广泛得到认可,并且采纳它的人也在不断增长。而这一切也许是因为我们过度的认为需要怎么怎么简化 Java EE 5 才取得这样的成绩。比如说,对 JBoss Seam 的兴趣和 GlassFish 的热情都是重要的关键因素。 EJB3.1 的目标就是在增加业务组件时,继续让 EJB 变得尽可能简单。下面是对 EJB3.1 特性的高度概括:
<!-- [if !supportLists]-->l <!-- [endif]-->原本需要甚至实现 Session Beans 的业务接口变得可选了,不再强迫要求实现。在使用 Session Beans+JSF+WebBeans 的场景下尤其有用。
<!-- [if !supportLists]-->l <!-- [endif]-->EJB3.1 增加了 Singleton Beans 的概念。因为人们更倾向于管理共享的应用程序状态,需要保证是完全线程安全的模型。此外, EJB3.1 新增的声明式的并发控制也更加灵活。
<!-- [if !supportLists]-->l <!-- [endif]-->EJB3.1 一个可圈可点的的强大特性就是支持 cron 风格的 scheduling 。除目前基于 timer API 的调度计时器外,声明式和编程式的 cron 风格的 scheduling API 也加入了进来。
<!-- [if !supportLists]-->l <!-- [endif]-->另一个强大的特性就是可以通过使用 @Asynchronous 标注来对 Session Bean 的方法进行异步调用。你甚至还通过它来控制异步 EJB 方法从而返回一个 java.util.concurrent.Future 对象
<!-- [if !supportLists]-->l <!-- [endif]-->EJB3.1 Lite 概念的逐渐引入形成了一个 EJB API 的子集,并在 Web Profile 中得到应用。只不过 EJB Lite 包含了像事务处理和安全这样的特性,而那些消息机制,远程调用以及 scheduling 等非必须的自然没有必要加入其中。
除上述列表所述特性外, EJB3.1 的特性还包括:括直接将 EJB 打包成 war 文件,可运行在 embedded 的容器中便于 Java SE 环境进行 JUnit 测试,使用统一的标准化全局 JNDI 命名方式。 EJB3.1 的公开草案可从以下链接获得: http://jcp.org/en/jsr/detail?id=318
JPA 2.0
到 Java EE 6 的时候, JPA 已经彻底从 EJB 中分离,形成自己的体系 (EJB3.0 已经将 JPA 分离出去了 ) 。 JPA 的成功是毫无疑问的。它广泛得到社区的采纳和一流供应商的支持。本来我们担心 EJB2.* 的 Enity Beans 垮台可能无法让 Java EE 再次引领持久层的标准,一个重要成功的因素就是 Gaving King 和 JBoss 社区毫不含糊的支持。 JPA2.0 的目标就是要在这次成功的基础上再接再厉,填补更多的空白,再创多的创新:
<!-- [if !supportLists]-->l <!-- [endif]-->JPA2.0 加入了大量必须的 ORM 映射增强特性,包括:支持通过使用 @ElementCollection 标注来增强 collections, maps 和 lists( 这里不是指实体之间的关联关系 ) 集合,支持 map 的单向 one-to-many 关联 (JPA1.0 只允许双向 one-to-many 关联 ) 。
<!-- [if !supportLists]-->l <!-- [endif]-->EntityManager 和 Query API 都得到改进。比如说,现在可以从结果集中直接取得第一条记录 (JPA1.0 只允许从一个 unique 结果集中反回单个记录 ) ,指定 query 结果集的最大值,访问各个供应商的底层实体对象 manager 或 query ,最后就是加入悲观锁 (JPA1.0 只支持乐观锁 ) 。
<!-- [if !supportLists]-->l <!-- [endif]-->JPQL 也提供类似于 SQL 的 CASE , NULLIF , COALESCE 等函数 。
<!-- [if !supportLists]-->l <!-- [endif]-->JPA2.0 应广大开发者要求增加了 Criteria API 。要是你对 Hibernate 或 TopLink 的 Criteria API 不熟悉的话,可以将它想像成一个以 Java 为中心的面向对象,线程安全并可以与 JPQL 划上等号的一组 API 。这组 API 适合于编写复杂的动态查询语句,还可避免解析 JPQL 语句时,所抛出的运行期异常。
更完整的 JAP2.0 特性还包括:标准的二级缓存,标准的 JDBC properties ,指定超时时间等等。你可以随时通过下面的 JSR 站点看看关于 JPA2.0 公开草案的更多细节: http://jcp.org/en/jsr/detail?id=317
Servlet 3.0
如果说 Servlet API 已经是相当成熟的话,那么也许你也许会惊讶怎么它也要来一次大修订?事实上, Servlet3.0 的改变又带来了一系列激动人心的特性,相信它们又会被社区广泛接受。共同来看看这些改变吧:
<!-- [if !supportLists]-->l <!-- [endif]-->Servlet3.0 在 Java EE 6 的模型中引入了像 @WebServlet , @ServletFilter 和 @WebServletContextListener 等标注。它们能很大程序上减少 web.xml 配置。
<!-- [if !supportLists]-->l <!-- [endif]-->Servlet3.0 当然也引入 web.xml 分块思想。这就意味着容器除了可以在 WEB-INF/lib 中查找 web.xml ,还可以在任何 web 应用程序的 classpath (比如说 WEB-INF/classes 或 WEB-INF/lib 中的 jar 包)中查找 web.xml 配置文件片断。这对于像 JSF 或 Struts 这些需要在 web.xml 通过配置才能启动的 web 应用程序框架尤其有用。
<!-- [if !supportLists]-->l <!-- [endif]-->另一个非常酷的特性就是可通过使用 ServletContext 来编程式的增加 Servlets , Filters 以及 Listeners 。和刚才提到的 web.xml 片断一样,该特性也主要是为满足框架开发人员需要动态的在运行期决定配置而新增的。
除了上述改变外, Servlet 3.0 还引入了支持异步处理等诸多特性。 Servlet 3.0 的公开草案可以通过下面的链接获得: http://jcp.org/en/jsr/detail?id=315
JAX-RS 1.1
REST 的日益兴起为 web services 开发提供了新的方式。这次包含的 JAX-RS 与先前的 JAX-WS 地位相当,表示 Java EE 也认可 REST 是一种趋势。与 JAX-WS 的出发点一致, JAX-RS 也远离了 SOAP 协议的底层细节。 JAX-RS 设计的目标就是想,通过使用 POJO 编程模型和基于标注的配置,来减少 REST 开发周期。下面是对 JAX-RS 的高度概括:
<!-- [if !supportLists]-->l <!-- [endif]-->@Path 标注用来决定一个 JAX-RS 的资源 URL 可以被合法访问。可用于 POJO 。
<!-- [if !supportLists]-->l <!-- [endif]-->像 @GET , @POST , @PUT 和 @DELETE 这些标注可用来指定相应的 HTTP 方法,来对资源进行访问。
<!-- [if !supportLists]-->l <!-- [endif]-->像 URL query 参数, cookies 的值以及 HTTP header 的值都可以通过 @QueryParam, @PathParam , @CookieParam 和 @HeaderParam 等标注将其与对应的变量映射在一起。
<!-- [if !supportLists]-->l <!-- [endif]-->JAX-RS 可以和 Servlets , WebBeans 或 EJB 集成。
JAX-RS 已有的许多强大的特性使得 REST 开发很轻松,这与当初 JAX-WS 开发 SOAP 而无需知道底层细节惊人的相似。 JAX-RS 的公开草案可从下面的链接下载: http://jcp.org/en/jsr/detail?id=311
你的帮助是必要的
也许你能想像专家组正在努力进化 JavaEE ,使之成为一个大家乐意使用的强大的开发平台。 JavaEE7 除了 API 的革新外, JSR 316 专家组现在也变得是稳重而又开阔。尽管如此,我们能做的只有这么多了。我们需要你的反馈,告诉我们这次有没有让你们失望或者我们还应该摸索其它道路。你可以直接将你的反馈通过 jsr-316-comments@jcp.org 发给专家组。如果方便的话,也给我抄送一份 reza@rahmannet.net 。
期待你的来信,同时也祝我们好运。
相关链接
<!-- [if !supportLists]-->1. <!-- [endif]-->Java EE 6 Platform Public Review, http://weblogs.java.net/blog/robc/archive/2009/01/java_ee_6_platf_1.html .
<!-- [if !supportLists]-->2. <!-- [endif]-->Profiles in the Java EE 6 Platform, http://weblogs.java.net/blog/robc/archive/2008/02/profiles_in_the_1.html .
<!-- [if !supportLists]-->3. <!-- [endif]-->Web Beans Sneak Peek Part I: Introducing Web Beans, http://in.relation.to/Bloggers/WebBeansSneakPeekPartIIntroducingWebBeans .
<!-- [if !supportLists]-->4. <!-- [endif]-->Web Beans Sneak Peek Part II: Injection, binding annotations and component types, http://in.relation.to/Bloggers/WebBeansSneakPeekPartIIInjectionBindingAnnotationsAndComponentTypes .
<!-- [if !supportLists]-->5. <!-- [endif]-->Web Beans Sneak Peek Part III: Declaring components using XML, http://in.relation.to/Bloggers/WebBeansSneakPeekPartIIIDeclaringComponentsUsingXML .
<!-- [if !supportLists]-->6. <!-- [endif]-->Web Beans Sneak Peek Part IV: Scopes, contexts and resolver methods, http://in.relation.to/Bloggers/WebBeansSneakPeekPartIVScopesContextsAndResolverMethods .
<!-- [if !supportLists]-->7. <!-- [endif]-->JSF 2.0 New Feature Preview Series (Part 1): ProjectStage, http://blogs.sun.com/rlubke/entry/jsf_2_0_new_feature2 .
<!-- [if !supportLists]-->8. <!-- [endif]-->JSF 2.0 New Feature Preview Series (Part 2.1): Resources, http://blogs.sun.com/rlubke/entry/jsf_2_0_new_feature5 .
<!-- [if !supportLists]-->9. <!-- [endif]-->JSF 2.0 New Feature Preview Series (Part 2.2): Resources, http://blogs.sun.com/rlubke/entry/jsf_2_0_new_feature .
<!-- [if !supportLists]-->10. <!-- [endif]-->JSF 2.0 New Feature Preview Series (Part 2.3): Resources, http://blogs.sun.com/rlubke/entry/jsf_2_0_new_feature3 .
<!-- [if !supportLists]-->11. <!-- [endif]-->JSF 2.0 New Feature Preview Series (Part 3): Publish/Subscribe Event System, http://blogs.sun.com/rlubke/entry/jsf_2_0_new_feature1 .
<!-- [if !supportLists]-->12. <!-- [endif]-->JSF 2.0 New Feature Preview Series (Part 4): Resource Re-location, http://blogs.sun.com/rlubke/entry/jsf_2_0_new_feature4 .
<!-- [if !supportLists]-->13. <!-- [endif]-->New Features in EJB 3.1, http://www.theserverside.com/tt/articles/article.tss?l=NewFeaturesinEJB3-1 .
<!-- [if !supportLists]-->14. <!-- [endif]-->New Features in EJB 3.1 - Part 2, http://www.theserverside.com/tt/articles/article.tss?l=NewFeaturesEJB31 .
<!-- [if !supportLists]-->15. <!-- [endif]-->New Features in EJB 3.1 - Part 3, http://www.theserverside.com/tt/articles/article.tss?l=NewFeaturesEJB31-3 .
<!-- [if !supportLists]-->16. <!-- [endif]-->New Features in EJB 3.1 – Part 4, http://www.theserverside.com/tt/articles/article.tss?l=NewFeaturesinEJB3-Part4 .
<!-- [if !supportLists]-->17. <!-- [endif]-->New Features in EJB 3.1 – Part 5, http://www.theserverside.com/tt/articles/article.tss?l=NewFeaturesinEJB31-Part5 .
<!-- [if !supportLists]-->18. <!-- [endif]-->An Overview of Servlet 3.0, http://java.dzone.com/articles/an-overview-servlet-30 .
评论
EJB 3,在hibenrate烂大街的时候才姗姗来迟。。。
写得不错,呵。。。
谢谢共享!!
谢谢翻译哈.
发表评论
-
【翻译】深入浅出 EJB3.1(下)
2009-05-07 23:37 8911Global JNDI names( 统一的 全局 ... -
【翻译】深入浅出 EJB3.1(上)
2009-05-06 20:59 11161终于有空将EJB3.1的最新文章与大家分享,原文请看: ht ... -
【翻译】Java EE 6体系结构的变革
2009-02-09 10:01 4525又看到 Reza 同学为 -
垃圾收集器是一个“宝贝收藏家”?
2008-11-25 23:58 3078原文请看:http://java.dzone.com/ar ... -
深入理解JBoss Cache3.0——Naga
2008-11-12 09:12 9743原文请看: http://java.dzone.com/ ... -
【翻译】Rod Johnson——关于当选JCP执行委员会的之言片语
2008-11-03 10:42 3192SpringSource 在上月底被宣布被加入 JCP ... -
【翻译】EJB3.1真的来了吗?EJB3.1系列文章(五) 终章
2008-10-16 14:37 9223历时9 个多月的EJB3.1 系列文章终于要划上圆满的句 ... -
【翻译】Rod Johnson——平衡的质疑:Spring维护策略的再次调整(完)
2008-10-09 09:33 4071不管你承不承认,Spring实际上已经是实事上JAVA企业开 ... -
【云计算专家Joseph Ottinger系列】应用服务器本质论
2008-09-08 08:58 3482原文请看: http://www.t ... -
Spring破坏了JEE规范吗?
2008-09-02 13:33 4094[TTS 编辑注:这是 TTS 论坛上的原帖。我现在把它 ... -
【翻译】spring配置全书(下)——附PDF完整版下载
2008-07-14 12:30 10844JMS 命名空间简介 Schema URI ... -
【翻译】spring配置全书(上)
2008-07-07 23:11 8950作者简介: Craig Walls 是 Texa ... -
【翻译】EJB3.1真的来了吗?EJB3.1系列文章(四)
2008-06-18 23:10 38219前言 Raza 同学终于又出 EJB3.1 文章了 ... -
【翻译】Rod Johnson——Spring的宣言:开源,开放(完)
2008-06-10 16:51 5616前言 这是本文的第二部分,里面提到并回答许多Spring用 ... -
【翻译】Rod Johnson——Spring的宣言:开源,开放
2008-06-06 13:06 6117原文地址: http://blog.sp ... -
【翻译】EJB3.1真的来了吗?EJB3.1系列文章(三)
2008-05-01 13:53 8839文本继续和大家分享EJB3.1特性,今天谈到的EJB Lite ... -
【Danny hui】运用抽象工厂模式自己动手写一个IoC
2008-04-23 16:34 6359本文的作者Danny hui似乎是TTS上的新人,我从Goog ... -
【翻译】Wicket启示录——理论与实践(三)完
2008-04-11 01:09 6286接下来,我们再看看EditContact类,把新建联系人的话和 ... -
【翻译】Wicket启示录——理论与实践(二)
2008-04-09 23:47 5888第二部分 实践 Application(应用程序) 与 ... -
【翻译】Wicket启示录——理论与实践(一)
2008-04-09 23:15 6809序 Wicket,当多数人看到它时,也许又是带着惯性思考 “j ...
相关推荐
Java EE知识体系结构,用图解的形式详细讲述了Java EE整体的知识架构。
Java EE 6(Java Platform, Enterprise Edition 6)是Java技术在企业级开发中的一个里程碑,它为构建可扩展、高性能、分布式的企业级应用程序提供了全面的框架和规范。本教程由Sun Microsystems(后被Oracle收购)...
《Java EE 6 教程》是Oracle公司于2010年发布的一部详尽指导书籍,旨在帮助开发者深入理解和掌握Java Platform, Enterprise Edition(Java EE)平台的应用开发技术。Java EE 6作为企业级应用开发的标准框架,提供了...
基于MVC模式的java体系结构图,视图包括html,css,div,ajaxflash,javascript,xml,jsf,tag,控制器包括JSP,SERVLET。
Java EE 6(Java Platform, Enterprise Edition)是Java开发企业级应用的标准框架,它提供了丰富的API和服务,用于构建分布式、多层的企业系统。GlassFish 3是Oracle公司推出的开源应用服务器,是Java EE 6规范的...
这是官方的英文版的JAVA EE 6的API,带索引功能的。
Java EE(Enterprise Edition)6是Java平台上用于构建企业级分布式应用程序的标准框架。它提供了一系列的API和服务,使得开发者能够创建高效、可扩展且模块化的Web应用程序。本规范手册包含了Java EE 6的所有核心...
Java EE,全称为Java Platform, Enterprise Edition,是Java平台下的企业版,主要用于构建分布式、多层的企业级应用程序。它提供了一系列的API和服务,包括Servlet、JSP、EJB(Enterprise JavaBeans)、JMS(Java ...
Java EE 6,全称Java Platform, Enterprise Edition 6,是Java平台上用于构建企业级Web应用的标准框架。这个集合包含了开发Java EE 6应用程序所需的各种jar包,方便开发者直接使用,无需逐一寻找和下载。Java EE 6的...
《Java EE 7 Developer Handbook》在结构上可能包含了以下知识点,因为这些通常是Java EE开发者需要掌握的核心内容: 1. Java EE 7核心概念:介绍Java EE 7的基础架构和核心组件,包括其各个组成部分(如Servlets, ...
### 关于《Beginning Java EE 6 with GlassFish 3, 2nd Edition》的知识点解析 #### 一、Java EE 6 平台概述 **Java Enterprise Edition (Java EE)** 是Oracle公司(前身为Sun Microsystems)开发的一个企业级Java...
在Java EE 6的教程:基本概念,四版,是一个任务导向,例如驱动的指南为Java平台企业版6(Java EE 6中)开发企业应用程序。由甲骨文的Java EE 6日团队成员的书面文件,这本书为我们提供了新的平台的深刻理解和中级...
Java EE(Java Platform, Enterprise Edition)是Java平台上用于构建企业级Web应用的框架集合,它提供了丰富的服务和组件,使得开发者能够快速开发出分布式、多层架构的应用程序。本教程由知名讲师郑阿奇编著,旨在...
这个压缩包"java-EE-API.zip"包含了Java EE 6的API规范文档,这对于开发者理解和使用该版本的API至关重要。 首先,Java EE 6 API的核心目标是提供一组标准接口和服务,让开发者可以构建可扩展、健壮且安全的Web应用...
Java EE 6(Java Platform, Enterprise Edition 6)是Java平台的一个重要版本,专注于企业级应用的开发。这个API文档提供了全面的技术规范和接口参考,是开发者理解和使用Java EE 6框架的重要参考资料。以下是该文档...
Java EE 架构师需要了解什么是体系结构、架构是角色、服务级别需求等概念。体系结构是指一个企业或组织中的软件架构,它描述了软件系统的结构、组件、关系和交互方式。 Java EE 概述 Java EE 是一个基于 Java 的...
Java EE 6,全称Java Platform, Enterprise Edition 6,是Java平台上用于构建企业级应用程序的一个版本。这个版本引入了许多新特性和改进,旨在简化开发流程、提高可维护性,并加强了对Web服务和轻量级框架的支持。...
Java EE 5 和 Java EE 6 是两个重要的版本,分别于2006年和2009年发布,它们在Java EE发展历程中起到了关键的推动作用。 Java EE 5 的主要改进和特性包括: 1. **简化编程模型**:Java EE 5 引入了注解...