NetBeans IDE 4.1 快速入門手冊

來源:互聯網
上載者:User
快速入門

Web 服務是分布式應用程式組件,它們符合一定的標準,因而可供外部使用。分布式環境的激增對企業提出了新的要求,企業必須能夠通過開放式網路將某個應用程式的全部或部分功能向其他應用程式公開。使用 Web 服務,可以解決獨立開發並在各種不同軟體和硬體平台上啟動並執行應用程式的整合問題。

 NetBeans IDE 4.1 與基於 JSR-109 的 Web 服務支援捆綁在一起,JSR-109 是一種開發範例,它適用於基於 JAX-RPC (JSR-101) 的 J2EE 開發。NetBeans IDE 4.1 中的 Web 服務功能是端到端 J2EE 功能集的一部分。在 NetBeans IDE 4.1 中使用 Web 服務要比在 NetBeans IDE 4.0 中使用容易得多。例如,NetBeans IDE 4.1 提供了建立 Web 服務和 Web 服務客戶機的嚮導。 

 在本教程中,將建立一個包含以下內容之一的 J2EE 應用程式: 

 Web 應用程式(使用 Servlet 公開的服務)

 EJB 模組(使用會話 Bean 公開的服務) 

 請注意,您必須選擇要產生這兩個方案中的哪一個。可以使用本教程建立 Web 應用程式或 EJB 模組。 

 本教程介紹了以下主題:

 設定環境

 開發 Web 服務

 公開 Web 服務

 使用 Web 服務

 封裝應用程式

 設定環境

 在開始編寫代碼之前,您必須確保安裝了所需的所有軟體並且正確設定了伺服器。

 安裝軟體 

 在開始安裝之前,需要在電腦中安裝以下軟體: 

 · NetBeans IDE 4.1(下載) 

 · Sun Java System (SJS) Application Server Platform Edition 8 2005Q1(下載) 

 · Java Standard Development Kit (JDKTM) 1.4.2 版(下載)或 5.0 版(下載)

 註冊 Sun Java System Application Server 

 在編譯 Web 服務之前,必須先註冊 SJS Application Server 的本地執行個體。如果安裝了 NetBeans IDE 4.1/SJS Application Server 包,則會自動註冊本地應用伺服器。 

 1. 從主視窗中選擇“工具”>“伺服器管理員”。 

 2. 單擊“添加伺服器”。選擇 "Sun Java Systems Application Server 8.1",並為此執行個體指定一個名稱。然後單擊“下一步”。 

 3. 指定伺服器資訊、應用伺服器本地執行個體的位置以及要部署的域。 

 開發 Web 服務 

 對 Web 服務進行編碼非常容易。IDE 會處理所有實現細節,因此您可以集中精力對 Web 服務的商務邏輯進行編碼。 

 建立項目 

 1. 決定是將 Web 服務作為 Web 應用程式實現,還是作為會話 Bean 實現。 

 2. 選擇“檔案”>“建立項目”(Ctrl-Shift-N),然後執行以下操作之一: 

 o 在“類別”下選擇 "Web"。在“項目”下選擇“Web 應用程式”。單擊“下一步”。 

 o 在“類別”下選擇“企業”。在“項目”下選擇“Enterprise JavaBeans 模組”。單擊“下一步”。 

 3. 將項目命名為 HiWS,將“專案檔夾”更改為電腦中的任意檔案夾,並確保在“伺服器”下拉式清單中選擇了 "Sun Java System Application Server"。單擊“完成”。 

 建立 Web 服務 

 1. 按右鍵項目節點,然後選擇“建立”>“Web 服務”。將 Web 服務命名為 HiWS,在“包”欄位中鍵入 org.me.hi,然後單擊“完成”。將在源編輯器中開啟一個名為 HiWSImpl.java 的實作類別(在 Web 應用程式中),或者開啟一個名為 HiWSBean.java 的會話 Bean(在 EJB 模組中)。 

 2. 在“項目”視窗中,展開“Web 服務”節點,按右鍵 HiWS Web 服務節點,然後選擇“添加操作”。在“名稱”欄位中鍵入 sayHi,然後在“類型”組合框中選擇“字串”。單擊“添加”,定義一個名為 s 的 java.lang.String 型參數。單擊“確定”建立操作架構。 

 3. 展開“源包”節點和 org.me.hi 節點。雙擊 HiWSSEI.java 節點,可以注意到已經在介面類中聲明了操作。 

 4. 在源編輯器中,將操作架構填寫到實作類別或會話 Bean 中。要執行此操作,請在 sayHi 操作的主體中將 "return null;" 替換為以下代碼: 

 5. return "Hi " + s + "!"; 

 6. 現在代碼應如下所示: 

 package org.me.hi;

 public class HiWSImpl implements HiWSSEI {

 public String sayHi(java.lang.String s) {

 return "Hi " + s + "!";

 }

 }

 產生和配置 SOAP 訊息處理常式 

 1. 按右鍵項目節點並選擇“建立”>“檔案/檔案夾”。在“類別”下選擇“Web 服務”。在“檔案類型”下選擇“訊息處理常式”。單擊“下一步”。

 2. 將訊息處理常式命名為 HiWSLogger,在“包”下拉式清單中選擇 org.me.hi,然後單擊“完成”。將建立一個名為 HiWSLogger.java 的實作類別,並在源編輯器中將其開啟。

 3. 在 handleRequest 方法中,請注意按如下方式定義要記錄的訊息:

 4. StringBuffer message = new StringBuffer();

 5. while (childElems.hasNext()) {

 6. child = (SOAPElement) childElems.next();

 7. message.append(new Date().toString() + "--");

 8. formLogMessage(child, message);

 9. }

 10.

 11. System.out.println("message: " + message.toString());

 12.

 13. 在“項目”視窗中,展開“Web 服務”節點,按右鍵該 Web 服務的節點,然後選擇“配置處理常式”。在“配置 SOAP 訊息處理常式”對話方塊中,單擊“添加”,然後瀏覽到 HiWSLogger 類。單擊“確定”。 

 將在對話方塊中列出訊息處理常式類。 

 單擊“確定”完成 SOAP 訊息處理常式的配置。

 公開 Web 服務 

 在公開 Web 服務時,可以使其供客戶機使用。可以使用 IDE 作為客戶機,以便在部署後對其進行測試。 

 部署 Web 服務 

 根據 Web 服務的實現方式,請執行以下操作之一:

 · 對於作為 Web 應用程式實現的 Web 服務,請執行以下操作: 

 1. 在“項目”視窗中按右鍵 HiWS 項目節點,然後選擇“屬性”。在“項目屬性”對話方塊中,選擇“運行”窗格。在“上下文路徑”文字框和“相對 URL”文字框中均鍵入 /HiWS。單擊“確定”。 

 2. 在“項目”視窗中按右鍵 HiWS 項目,然後選擇“運行項目”。 

 這將啟動符合 J2EE 的伺服器並部署 Web 服務。在 IDE 的預設瀏覽器中應該會顯示一條類似於以下內容的訊息: 

 Invalid wsdl request http://localhost:8080/HiWS/HiWS for web service HiWS

 · 對於作為會話 Bean 實現的 Web 服務,請在“項目”視窗中按右鍵 HiWS 項目,然後選擇“部署項目”。這將啟動符合 J2EE 的伺服器並部署 Web 服務。 

 請注意,必須將 Web 服務保持部署狀態,以便在下一部分中建立 Web 服務客戶機。 

 註冊和測試 Web 服務 

 1. 在“項目”視窗中,展開“Web 服務”節點,按右鍵 HiWS Web 服務節點,然後選擇“添加到註冊表”。 

 您可能會收到一條類似於以下內容的錯誤訊息:

 Unable to add web service to registry. Make sure it has been deployed,

 the server is running, and the correct WSDL URL was entered. 

 如果收到此錯誤訊息,請確保已經部署了 Web 服務,然後再次選擇“添加到註冊表”。 

 將出現一個對話方塊,其中推薦了可用於註冊 Web 服務的 URL。 

 2. 記下該 URL,因為稍後在建立 Web 服務客戶機時需要使用它。單擊“確定”。

 

 3. 在“運行環境”視窗中,展開“Web 服務”節點,然後繼續展開節點,直至找到 sayHi 節點。按右鍵 sayHi 節點,然後選擇“測試操作”。在“測試 Web 服務操作”對話方塊的“值”文字框中鍵入 "John",然後單擊“提交”。將在對話方塊底部顯示結果 "Hi John!"。 

 4. 展開“伺服器”節點,按右鍵 Sun Java System Application Server 8.1 節點,然後選擇“查看伺服器日誌”。將會顯示 server.log 檔案,其中包括一條類似於以下內容的訊息: 

 5. message: Wed Jan 12 16:56:48 CEST 2005--sayHi String_1:John |#]

 這是由上一部分中建立的 SOAP 訊息處理常式產生的日誌訊息。 

 在對操作進行測試之後,如果您對該 Web 服務感到滿意,則可以將其功能整合到 Web 服務客戶機中。 

 使用 Web 服務 

 使用 Web 服務是指客戶機在使用 Web 服務時所執行的操作。使用 IDE 可以很容易地設定客戶機,以使其使用 Web 服務。可以使用嚮導來匯入描述 Web 服務介面的 WSDL 檔案。然後,可以將其整合到客戶機中,以使該 Web 服務完成一些有用的工作。 

 建立 Web 應用程式項目 

 · 選擇“檔案”>“建立項目”(Ctrl-Shift-N)。在“類別”下選擇 "Web"。在“項目”下選擇“Web 應用程式”。將項目命名為 HiWSClient,將“專案檔夾”更改為電腦中的任意檔案夾,並確保在“伺服器”下拉式清單中選擇了 "Sun Java System Application Server"。單擊“完成”。 

 搜尋有關 Web 服務的資訊 

 1. 按右鍵項目節點,然後選擇“建立”>“Web 服務客戶機”。複製正在啟動並執行 Web 服務的 URL,並將其粘貼到 WSDL URL 文字框中,然後單擊“檢索 WSDL”。如果“本地檔案名稱”文字框中填寫了 WSDL 檔案名,則說明已經正確檢索到了 WSDL 檔案。在“包”欄位中鍵入 org.me.hi,然後單擊“完成”。 

 2. 展開“Web 服務參考”節點,然後繼續展開節點,直至找到 sayHi 節點。按右鍵 sayHi 節點,然後選擇“測試操作”。在“測試 Web 服務操作”對話方塊的“值”文字框中鍵入 "John",然後單擊“提交”。將在對話方塊底部顯示結果 "Hi John!"。在對操作進行測試之後,如果您對公開的 Web 服務感到滿意,則可以建立一個客戶機來使用它。 

 3. 按右鍵 HiWSClient 項目節點,然後選擇“建立”> "Servlet"。將 Web 服務命名為 HiServlet,在“包”欄位中鍵入 org.me.hi,單擊“下一步”,然後單擊“完成”。將在源編輯器中開啟 Servlet HiServlet.java。 

 建立 Web 服務客戶機 

 1. 在源編輯器中,在 HiServlet 類的 processRequest 操作中單擊滑鼠右鍵。選擇“Web 服務客戶機資源”>“調用 Web 服務操作”,選擇 sayHi 操作,然後單擊“確定”。剪下並粘貼架構操作,將其放在 out.close(); 行的上方。

 2. 現在可以填寫架構操作,使其如下所示:

 3.  try {

 4.    out.println(getHiWSSEIPort().sayHi("Ludwig"));

 5.  } catch(java.rmi.RemoteException ex) {

 6.    out.println("

Caught an exception

" + ex);

 7.  }

 8. (可選)如果您希望使用者能夠與 Web 服務進行互動,請將上述代碼刪除,並在 processRequest 方法的 標記之間添加以下代碼:

 out.println("<p>Enter your name: "); out.println("<form method=\"get\">"); out.println("<input type=\"text\" name=\"name\" size=\"25\">"); out.println("<br>"); out.println("<p>"); out.println("<input type=\"submit\" value=\"Submit\">"); out.println("</form>"); String name = request.getParameter("name"); if ( name != null ) { try { out.println(getHiWSSEIPort().sayHi(name)); } catch(java.rmi.RemoteException ex) { out.println("<p>Caught an exception <p>" + ex); } }



 封裝應用程式 

 (可選)可以在 EAR 檔案中封裝應用程式並對其進行部署。或者,也可以單獨部署 Web 服務和 Web 服務客戶機。 

 建立 J2EE 應用程式項目 

 1. 選擇“檔案”>“建立項目”(Ctrl-Shift-N)。在“類別”下選擇“企業”。在“項目”下選擇“空的公司專屬應用程式程式”。將項目命名為 HiApp,然後將“專案檔夾”更改為電腦中的任意檔案夾。單擊“完成”。 

 2. 展開 HiApp 項目節點,然後按右鍵“J2EE 模組”節點。選擇“添加 J2EE 模組”。選擇 "HiWSClient" 並單擊“確定”。然後重複此步驟並選擇 "HiWS"。 

 部署 J2EE 應用程式 

 1. 在“項目”視窗中按右鍵 HiApp 項目節點,然後選擇“屬性”。在“項目屬性”對話方塊中,選擇“執行”。確保在“客戶機模組 URI”文字框中填寫了 HiWSClient.war。在“相對 URL”文字框中鍵入 /HiServlet。單擊“確定”。 

 2. 在“項目”視窗中按右鍵 HiApp 項目,然後選擇“運行項目”。 

 您可能會收到一條類似於以下內容的錯誤訊息: 

 Deploying application in domain failed; Cannot deploy. Application already exists. 

 Please select the redeploy option. ; requested operation cannot be completed 

 如果收到此錯誤訊息,請在“運行環境”視窗的“伺服器註冊”節點中展開 Sun Java System Application Server 8 節點。然後展開“應用程式”節點,再展開“公司專屬應用程式程式”節點和“Web 應用程式”節點。如果列出了 HiApp、HiWS 或 HWSClient,則需要將其卸下。按右鍵這些節點,然後選擇“卸下”。在“項目”視窗中,再次運行 HiApp 項目。 

 將啟動符合 J2EE 的伺服器,對應用程式進行部署,並在 IDE 的預設 網頁瀏覽器中顯示部署結果。

  3. 如果在應用程式中添加了使用者介面(如前一部分所述),請輸入一個名稱,然後單擊“提交”。客戶機將使用 Web 服務中的 "Hi" 和 "!" 字串,在其中插入您所輸入的名稱,並在瀏覽器中顯示問候語。如果未添加使用者介面,瀏覽器將顯示訊息 "Hi Ludwig!"。



相關文章

Beyond APAC's No.1 Cloud

19.6% IaaS Market Share in Asia Pacific - Gartner IT Service report, 2018

Learn more >

Apsara Conference 2019

The Rise of Data Intelligence, September 25th - 27th, Hangzhou, China

Learn more >

Alibaba Cloud Free Trial

Learn and experience the power of Alibaba Cloud with a free trial worth $300-1200 USD

Learn more >

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。