首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> Java 程式設計 >> J2EE

Java EE 6 EJB 模型實戰圖解(二):構建 Weather WebService 端點與攔截器演示

     編輯:J2EE

本實戰演示基於 NetBeans + GlassFish 3.0.1/3.1,展示 EJB 3.1 在 WAR 內直接暴露 WebService 端點的輕量化部署模式,並驗證攔截器(@Interceptor)對方法調用的橫切關注點控制能力。

步驟速覽

  1. 創建 WebService 專案:專案名 Weather,目標展示溫度資料。
    創建 Weather WebService 專案
  2. 編寫端點與攔截器:
    • EJB 類標註 @WebService,業務方法標註 @WebMethod。
    • 自定義 SimpleInterceptor 標註 @Interceptor,@AroundInvoke 方法打印被調用方法名,演示 AOP 風格橫切邏輯。
      SimpleInterceptor 代碼
  3. 清理並建構專案:
    建構專案
  4. 部署至 GlassFish:一鍵部署,無需額外 EAR 封裝。
  5. 驗證 WSDL 與測試頁:
    • WSDL:https://localhost:8080/WeatherService/Weather?wsdl
      WSDL 瀏覽
    • 測試頁:https://localhost:8080/WeatherService/Weather?tester 可直接呼叫測試。

關鍵技術點

  • EJB 3.1 無介面視圖 + WAR 部署:EJB 組件可直接打包在 WAR 中,無需獨立 ejb-jar,極大簡化打包部署。
  • 攔截器機制:@AroundInvoke 方法接收 InvocationContext,可前置/後置處理、修改參數/返回值、甚至阻斷調用,實現日誌、審計、安全、效能監控等橫切關注點。
  • GlassFish 版本提示:GlassFish 3.0 存在將 EJB 誤視為 WebApp 的 Bug,請使用 3.0.1 或 3.1+。

結語

EJB 3.x 配合 Java EE 6 配置簡化(註解驅動、無 deployment descriptor)、輕量部署(WAR 內 EJB)、WebService 原生整合、攔截器 AOP 能力,讓企業級服務開發回歸「專注業務、配置極簡」的本質。NetBeans 提供可視化向導進一步降低上手門檻。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved