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

JAX-WS Web 服務客戶端開發入門:以拼寫檢查服務為例

     編輯:Java 相關知識

本教學示範使用 NetBeans IDE 6.0 快速建立 JAX-WS Web 服務客戶端,呼叫 CDYNE 拼寫檢查服務並呈現結果。

環境需求

  • NetBeans IDE 6.0 Web & Java EE
  • JDK 5.0 或 6.0
  • GlassFish V2 或 Tomcat(安裝時可選)

建立專案與客戶端樁

  1. File > New Project > Web > Web Application,專案名 SpellCheckService
  2. 專案右鍵 New > Other > Web Services > Web Service Client
  3. WSDL URL:https://ws.cdyne.com/SpellChecker/check.asmx?WSDL
  4. 套件名:org.netbeans.end2end.check.client
  5. 完成後,Web Service References 節點顯示 check 服務與 CheckTextBody 操作

IDE 自動產生 JAX-WS 客戶端樁(build 目錄下可見生成類別)。

開發 JSP 前端頁面


<body>
  <form name="Test" method="post" action="SpellCheckServlet">
    <p>Enter the text you want to check:</p>
    <p><textarea rows="7" name="TextArea1" cols="40"></textarea></p>
    <p><input type="submit" value="Spell Check" name="spellcheckbutton"></p>
  </form>
</body>

表單提交至 SpellCheckServlet。

建立 Servlet 呼叫 Web 服務

  1. New > Servlet,名稱 SpellCheckServlet,套件同客戶端
  2. 在 processRequest 中右鍵 Web Service Client Resources > Call Web Service Operation
  3. 選擇 CheckTextBody,IDE 注入呼叫程式碼

完整 Servlet 實作


@WebServiceRef(wsdlLocation = "https://ws.cdyne.com/SpellChecker/check.asmx?WSDL")
private Check service;

protected void processRequest(HttpServletRequest request, HttpServletResponse response)
    throws ServletException, IOException {
    
    response.setContentType("text/html;charset=UTF-8");
    PrintWriter out = response.getWriter();
    
    try {
      String text = request.getParameter("TextArea1");
      CheckSoap port = service.getCheckSoap();
      
      String bodyText = text;
      String licenseKey = "0";  // 免費測試金鑰
      
      DocumentSummary doc = port.checkTextBody(bodyText, licenseKey);
      String allContent = doc.getBody();
      int mistakeCount = doc.getMisspelledWordCount();
      List wrongWords = doc.getMisspelledWord();
      
      // 輸出 HTML 報告
      out.println("Spell Checker Report");
      out.println("

Spell Checker Report

"); out.println("
Your text: \"" + allContent + "\"

"); for (int i = 0; i < wrongWords.size(); i++) { Words w = (Words) wrongWords.get(i); String word = w.getWord(); int sugCount = w.getSuggestionCount(); List sugs = w.getSuggestions(); out.println("


Wrong word: " + word + ""); out.println("

" + sugCount + " suggestions:
"); for (int k = 0; k < sugs.size(); k++) { out.println((String)sugs.get(k) + "
"); } } out.println("


Summary: " + mistakeCount + " mistakes ("); for (int i = 0; i < wrongWords.size(); i++) { out.println(((Words)wrongWords.get(i)).getWord() + " "); } out.println(")."); } catch (Exception ex) { System.out.println("exception: " + ex); out.println("exception: " + ex); } finally { out.close(); } }

部署與測試

  1. 專案右鍵 Run,IDE 編譯部署至伺服器
  2. 瀏覽器開啟 JSP,輸入含錯字文本(如 "This is a smple text")
  3. 點擊 Spell Check,查看錯誤單字與建議替換列表

進階練習方向

  • 加入完善錯誤處理(網路逾時、服務不可用、無效回應)
  • 改進 UI:以 AJAX 非同步呼叫、高亮標示錯字、點選替換自動修正
  • 參考 CDYNE 官方客戶端範例擴充功能

小結

NetBeans JAX-WS 向導將 WSDL 轉為型別安全的 Java 介面,開發者專注業務邏輯(準備參數、處理回傳物件),無需手寫 SOAP 通訊細節。這是 Java EE 開發 Web 服務客戶端的標準高效路徑。

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