<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    網(wǎng)路冷眼@BlogJava

    熙熙攘攘一閑人 以冷靜的眼光觀察技術(shù)
    posts - 88, comments - 193, trackbacks - 0, articles - 28
      BlogJava :: 首頁 :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理
    原文地址:http://testwww.netbeans.org/kb/55/javaee-intro_zh_CN.html 

     

    Java EE 5 技術(shù)簡介

    Java EE 5 教程

    NetBeans IDE 5.5 的開發(fā)是在 Java EE 和 Glassfish 工作組的密切合作下完成的,它實現(xiàn)了與新的 Java EE 5 規(guī)范的完美集成,從而可以在此 IDE 中輕松地使用新規(guī)范。NetBeans IDE 5.5 是您快速學(xué)習(xí) Java EE 5 編程并使用它高效工作的最佳途徑。

    本文檔介紹了 Java EE 5 規(guī)范的一些重要概念,以及它們?nèi)绾闻c您目前的編程項目相關(guān)聯(lián)的。下面將介紹以下主題:

    您可以在 Java EE 5 教程中找到有關(guān)開發(fā) Java EE 5 應(yīng)用程序并在 Sun Java System Application Server Platform Edition 9 上部署該應(yīng)用程序的信息。

    標(biāo)注取代部署描述符

    Java EE 5 平臺不需要任何部署描述符(Servlet 規(guī)范所需的部署描述符 web.xml 文件除外),從而簡化了部署過程。其他部署描述符(如 ejb-jar.xml 以及在 web.xml 中與 Web 服務(wù)相關(guān)的條目)已過時。J2EE 1.4 部署描述符通常很復(fù)雜,在填充它們時很容易出錯。但是,Java EE 5 平臺使用的是“標(biāo)注”。標(biāo)注是 Java 修飾符,與代碼中指定的 publicprivate 類似。例如,EJB 3 規(guī)范(Java EE 5 規(guī)范的子集)為 Bean 類型、接口類型、資源引用、事務(wù)屬性、安全性等定義了標(biāo)注。JAX-WS 2.0 規(guī)范為 Web 服務(wù)提供了一組類似的標(biāo)注。有些標(biāo)注用來生成工件,另外一些標(biāo)注用來描述代碼,還有一些標(biāo)注用來提供增強的服務(wù),如安全性或特定于運行時的邏輯。總之,Java EE 5 平臺為以下任務(wù)(以及其他任務(wù))提供了標(biāo)注:

    • 定義和使用 Web 服務(wù)
    • 開發(fā) EJB 軟件應(yīng)用程序
    • 將 Java 技術(shù)類映射到 XML
    • 將 Java 技術(shù)類映射到數(shù)據(jù)庫
    • 將方法映射到操作
    • 指定外部依賴關(guān)系
    • 指定部署信息,其中包括安全屬性

    標(biāo)注使用 @ 字符來標(biāo)記。在 IDE 中,當(dāng)您創(chuàng)建了使用 Java EE 5 中的標(biāo)注的類型時,將在生成的代碼中提供相關(guān)的占位符。例如,當(dāng)您使用 IDE 創(chuàng)建無態(tài)會話 Bean 時,將生成以下代碼,其中包括 @Stateless() 標(biāo)注:

     

    package mypackage;
    import javax.ejb.*;
    @Stateless()
    public class HelloWorldSessionBean implements mypackage.HelloWorldSessionLocal {
    }
    通過代碼完成,您可以對特定于光標(biāo)下的項的標(biāo)注屬性進行訪問。例如,在 @WebService() 標(biāo)注的括號中按 Ctrl-空格鍵時,將看到以下內(nèi)容:

    Web 服務(wù)中的標(biāo)注

    每個屬性都具有缺省值。因此,除非您需要使用缺省值以外的其他值,否則不必指定任何屬性。在一些簡單的示例中,使用缺省值就可以了,這意味著您根本不需要提供屬性。

    簡化的 EJB 軟件開發(fā)

    使用新的 EJB 3.0 API,可以減少并簡化開發(fā)者需要完成的工作量,從而可以更輕松地進行軟件開發(fā)。換句話說,就是使用了更少的類和代碼。這是因為現(xiàn)在容器承擔(dān)了更多的工作,從而實現(xiàn)了這一目的。下面是新 EJB 3.0 API 的一些功能和優(yōu)點:

    • 只需很少的類和接口。您不再需要 EJB 組件的 Home 接口和對象接口,因為現(xiàn)在容器負(fù)責(zé)公開必要的方法。您只需提供業(yè)務(wù)接口。您可以使用標(biāo)注來聲明 EJB 組件,并且通過容器來管理事務(wù)。
    • 不再需要部署描述符。您可以在類中直接使用標(biāo)注,為容器提供以前在部署描述符中定義的依賴關(guān)系和配置信息。如果沒有任何特殊說明,容器將使用缺省規(guī)則來處理最常見的情況。
    • 查找簡單。您可以通過 EJBContext 直接在類中查找 JNDI 名稱空間中的對象。
    • 簡化了對象關(guān)系映射。新的 Java 持久性 API 允許您使用 POJO 中的標(biāo)注將 Java 對象映射到關(guān)系數(shù)據(jù)庫,從而使對象關(guān)系映射變得更簡單透明。

    在 IDE 中,您可以對 Enterprise Beans 進行編碼,就像對其他 Java 類進行編碼一樣,方法是:使用代碼完成和編輯器提示實現(xiàn)正確的方法并使類與其接口保持同步。您不必使用特殊命令和對話框生成諸如業(yè)務(wù)方法或 Web 服務(wù)操作之類的內(nèi)容,雖然這些命令仍可以幫助您熟悉 Java EE 5 代碼的語法。

    使用依賴關(guān)系注入來訪問資源

    通過依賴關(guān)系注入,對象可以使用標(biāo)注直接請求外部資源。這樣代碼會更簡潔,因為您不再需要將代碼與資源創(chuàng)建和查找代碼混雜在一起。您可以在 EJB 組件、Web 容器和客戶端中使用資源注入。

     

    要請求資源注入,組件需要使用 @Resource 標(biāo)注或針對一些專用資源的 @EJB@WebServiceRef 標(biāo)注。您可以注入以下資源:

    • SessionContext 對象
    • DataSources 對象
    • EntityManager 接口
    • 其他 Enterprise Beans
    • Web 服務(wù)
    • 消息隊列和主題
    • 資源適配器的連接工廠

    在 IDE 中,源代碼編輯器為 Java EE 5 平臺提供的資源注入標(biāo)注提供了完整的代碼完成。此外,當(dāng)您運行諸如“調(diào)用 EJB”和“使用數(shù)據(jù)庫”之類的命令時,IDE 會自動將資源注入到文件中。

    Java 持久性 API 模型

    Java EE 5 平臺引入了新的 Java 持久性 API(它是作為 JSR-220 的一部分開發(fā)的)。Java 持久性 API 不但可以在 EJB 組件外部使用(例如,在 Web 應(yīng)用程序和應(yīng)用程序客戶端中使用),而且還可以在 Java EE 平臺之外的 Java SE 應(yīng)用程序中使用。

    Java 持久性 API 具有以下主要功能:

    • 實體是 POJO。與使用容器管理持久性 (Container-Managed Persistence, CMP) 的 EJB 組件不同,使用新 API 的實體對象不再是組件,并且它們不再需要位于 EJB 模塊中。
    • 標(biāo)準(zhǔn)化的對象關(guān)系映射。新規(guī)范將對對象關(guān)系映射的處理方式進行標(biāo)準(zhǔn)化,從而使開發(fā)者不再需要了解特定于供應(yīng)商的策略。Java 持久性 API 使用標(biāo)注來指定對象關(guān)系映射信息,但它仍支持 XML 描述符。
    • 命名查詢。現(xiàn)在命名查詢是用元數(shù)據(jù)表示的靜態(tài)查詢。查詢可以是 Java 持久性 API 查詢或本地查詢。這樣會使重用查詢變得非常簡單。
    • 簡單的打包規(guī)則。由于實體 Bean 是簡單的 Java 技術(shù)類,因此幾乎可以在 Java EE 應(yīng)用程序中的任意位置將其打包。例如,實體 Bean 可以是 EJB JAR、應(yīng)用程序客戶端 JARWEB-INF/libWEB-INF/classes 的一部分,甚至是企業(yè)應(yīng)用程序歸檔 (Enterprise Application Archive, EAR) 文件中實用程序 JAR 的一部分。通過這些簡單的打包規(guī)則,您不再需要創(chuàng)建 EAR 文件以使用來自 Web 應(yīng)用程序或應(yīng)用程序客戶端的實體 Bean。
    • 分離的實體。由于實體 Bean 是 POJO,因此可以對它們執(zhí)行序列化,通過網(wǎng)絡(luò)將其發(fā)送到其他地址空間,并在不識別持久性的環(huán)境中使用它們。這樣,您就不再需要使用數(shù)據(jù)傳輸對象 (Data Transfer Object, DTO)。
    • EntityManager API。現(xiàn)在,應(yīng)用程序編程人員可以使用標(biāo)準(zhǔn) EntityManager API 來執(zhí)行涉及實體的創(chuàng)建、讀取、更新和刪除 (Create Read Update Delete, CRUD) 操作。

    IDE 提供了處理新 Java 持久性 API 的工具。您可以通過數(shù)據(jù)庫自動生成實體類,或手動對實體類進行編碼。IDE 還提供了用于創(chuàng)建和維護持久性單元的模板和圖形編輯器。有關(guān)使用新 Java 持久性 API 的詳細(xì)信息,請參見 Java EE 5 平臺中的 Java 持久性

    Web 服務(wù)

    在 Java EE 5 平臺中,通過使用標(biāo)注顯著改進和簡化了 Web 服務(wù)支持。以下規(guī)范已應(yīng)用于此領(lǐng)域中:JSR 224,Java API for XML-Based Web Services (JAX-WS) 2.0;JSR 222,Java Architecture for XML Binding (JAXB) 2.0 以及 JSR 181,Web Services Metadata for the Java Platform。

    JAX-WS 2.0

    JAX-WS 2.0 是 Java EE 5 平臺中用于 Web 服務(wù)的新 API。作為 JAX-RPC 1.1 的后繼者,JAX-WS 2.0 保留了自然的 RPC 編程模型,同時在以下幾個方面進行了改進:數(shù)據(jù)綁定、協(xié)議和傳輸?shù)莫毩⑿浴?Web 服務(wù)的 REST 樣式的支持以及易開發(fā)性。

    與 JAX-RPC 1.1 的主要區(qū)別在于,現(xiàn)在所有數(shù)據(jù)綁定都委托給了 JAXB 2.0。這樣,基于 JAX-WS 的 Web 服務(wù)就可以使用百分之百的 XML 架構(gòu),從而提高了互操作性和易使用性。這兩種技術(shù)已很好地集成在一起了,因此用戶不必再為使用兩套不同的工具而勉為其難了。從 Java 技術(shù)類開始開發(fā)時,JAXB 2.0 可以生成自動嵌入到 Web 服務(wù)描述語言 (Web Service Description Language, WSDL) 文檔內(nèi)的 XML 架構(gòu)文檔,從而用戶無需手動執(zhí)行這一容易出錯的集成。

    現(xiàn)成的 JAX-WS 2.0 本身可以支持 SOAP 1.1、SOAP 1.2 和 XML/HTTP 協(xié)議。協(xié)議可擴展性從一開始就是人們所希望實現(xiàn)的目標(biāo),JAX-WS 2.0 允許供應(yīng)商支持其他協(xié)議和編碼來獲取更佳的性能(例如 FAST Infoset)或?qū)S玫膽?yīng)用程序。Web 服務(wù)(使用附件來優(yōu)化大型二進制數(shù)據(jù)的發(fā)送和接收)可以利用 W3C 制訂的 MTOM/XOP(“消息傳輸優(yōu)化機制/XML 二進制優(yōu)化打包”的簡稱)標(biāo)準(zhǔn),且對編程模型沒有任何不利的影響(有關(guān) MTOM/XOP 的信息,請參見此頁)。在 Java EE 5 技術(shù)出現(xiàn)之前,定義 Web 服務(wù)需要使用很長且復(fù)雜的描述符。現(xiàn)在,定義它卻非常簡單,只需將 @WebService 標(biāo)注放置在 Java 技術(shù)類上即可。類上的所有公共方法會自動發(fā)布為 Web 服務(wù)操作,并且其所有參數(shù)都將使用 JAXB 2.0 映射到 XML 架構(gòu)數(shù)據(jù)類型。

    異步 Web 服務(wù)

    由于 Web 服務(wù)調(diào)用是通過網(wǎng)絡(luò)來實現(xiàn)的,因此這種調(diào)用所花費的時間是無法預(yù)測的。許多客戶端(特別是交互式客戶端,如基于 JFC/Swing 的桌面應(yīng)用程序)由于必須等待服務(wù)器的響應(yīng)而嚴(yán)重地影響了它們的性能。為了避免出現(xiàn)性能降低,JAX-WS 2.0 提供了新的異步客戶端 API。使用此 API,應(yīng)用程序編程人員不再需要自己創(chuàng)建線程,而是依賴于 JAX-WS 運行時為他們管理長時間運行的遠程調(diào)用。

    異步方法可以與 WSDL 生成的任何接口以及動態(tài)性更強的 Dispatch API 聯(lián)合使用。為了方便起見,在導(dǎo)入 WSDL 文檔時,您可以要求為 Web 服務(wù)定義的任何操作生成異步方法。

    以下提供了兩種使用模型:

    • 在輪詢模型中,發(fā)出調(diào)用。準(zhǔn)備就緒后,請求結(jié)果。
    • 在回調(diào)模型中,注冊處理程序。在響應(yīng)到達后,立即向您發(fā)出通知。

    請注意,異步調(diào)用支持是完全在客戶端上實現(xiàn)的,因此不需要對目標(biāo) Web 服務(wù)進行任何更改。

    IDE 提供了處理 JAX-WS 的工具。您可以使用“新建文件”向?qū)е械哪0迳?JAX-WS 工件。異步 Web 服務(wù)可以通過 Web 服務(wù)定制編輯器來創(chuàng)建。代碼完成功能包括可以在 Web 服務(wù)中使用的標(biāo)注。



    后續(xù)步驟

    有關(guān)使用 NetBeans IDE 5.5 開發(fā) Java EE 應(yīng)用程序的更多信息,請參見以下資源:

    要發(fā)送意見和建議、獲得支持以及隨時了解 NetBeans IDE Java EE 開發(fā)功能的最新開發(fā)情況,請加入 nbj2ee@netbeans.org 郵件列表

    主站蜘蛛池模板: 亚洲欧洲专线一区| 内射少妇36P亚洲区| 亚洲久热无码av中文字幕| 色猫咪免费人成网站在线观看| 免费A级毛片无码久久版| 亚洲日本久久久午夜精品| 4虎1515hh永久免费| 亚洲av无码不卡| 久久久久久毛片免费看| 国产亚洲情侣一区二区无码AV | 成年人视频在线观看免费| 久久精品国产亚洲夜色AV网站| 羞羞视频在线观看免费| 在线观看亚洲免费视频| 美女黄网站人色视频免费| 国产午夜影视大全免费观看| 理论亚洲区美一区二区三区| 性做久久久久免费观看| 成人a毛片视频免费看| 亚洲天堂在线视频| 免费国产污网站在线观看| 久久精品国产亚洲精品2020| 黄色永久免费网站| 羞羞视频网站免费入口| 中文字幕第一页亚洲| 免费国产黄网站在线观看视频| 亚洲视频精品在线观看| 日韩免费观看视频| sss日本免费完整版在线观看| 亚洲一区二区中文| 免费一看一级毛片人| 爽爽爽爽爽爽爽成人免费观看| 亚洲视频国产视频| 国产又粗又长又硬免费视频| 中文字幕免费视频精品一| 亚洲福利电影在线观看| 亚洲福利在线播放| 综合在线免费视频| a毛片在线免费观看| 亚洲欧美自偷自拍另类视| 亚洲色婷婷六月亚洲婷婷6月|