Java WebService 開發簡單實例


   Web Service 是一種新的web應用程序分支,他們是自包含、自描述、模塊化的應用,可以發布、定位、通過web調用。Web Service可以執行從簡單的請求到復雜商務處理的任何功能。一旦部署以后,其他Web Service應用程序可以發現並調用它部署的服務。
   實際上,WebService的主要目標是跨平台的可互操作性。為了達到這一目標,WebService完全基於XML(可擴展標記語言)、 XSD(XMLSchema)等獨立於平台、獨立於軟件供應商的標准,是創建可互操作的、分布式應用程序的新平台。由此可以看出,在以下三種情況下,使用 WebService會帶來極大的好處。

  雖然本人完全明白Web Service,但要把概念說的專業,明了,還是引用大家的話比較好。要了解Web Service的朋友,推薦兩篇篇文章:

  Web Service 解讀一:http://www.cnblogs.com/xiaocai0923/archive/2011/12/30/2308154.html

  Web Service 解讀二:http://www.cnblogs.com/xiaocai0923/archive/2011/12/31/2308171.html

下面,就寫一個簡單的java WebService例子。

一、開發工具:

  1.Eclipse Java EE IDE for Web Developers

  2.apache-tomcat-7.x

 

二、配置Tomcat服務器:

 

三、創建web項目:

  1.在java ee版的eclipse里執行:new->other->web->Dynamic Web Project 例如我的項目名稱:MyWebServices

  2.(除了做項目需要,強烈建議使用eclipse而不是myeclipse做java ee開發)。這里為了方便java類的編譯,我們對類編譯路徑作一簡單配置:

   右擊項目,然后在右擊菜單中選擇:Build Path->Configure Build Path->Java Build Path->Source->Default outer folder.

   將原來的:MyWebService/build/classes改成MyWebService/WebContent/WEB-INF/classes

  3.建立一個用於發布WebService的java類(我這里是Person類com.service包下):

  

 1 package com.service;
 2 
 3 public class Person {
 4     
 5     public String desc(String name){
 6         
 7         return "hello! " + name;
 8     }
 9 
10 }

 

四、將該類發布為WebService:

  1.將這里的Person類發布為WebService(要發布為web服務的類不一定要在這里,可以是java project中的)

  Person.java ->web services->create web services,如下圖所示:

  

  2.一路點擊next完成即可,如果tomcat沒有啟動,在提示啟動時,請啟動。完成即可。

 

五、在瀏覽器中發布web服務:

  1.用於發布該web服務的web項目就是我們創建的MyWebService項目。首先,打開tomcat服務器配置文件增加一個web節點。路徑是:

    apache-tomcat-7.0.53\conf\server.xml,用記事本打開,在</Host>前加上虛擬路徑:

  

    這里的path隨意配置,docBase根據自己的實際情況配置。

  2.在WebContent目錄下創建index.jsp,在html標簽下添加<h1>hello geoman</h1>.然后啟動tomcat服務器。在地址欄里輸入:

    http://localhost:8080/geoman/index.jsp

    如果頁面能正常打開,則web虛擬節點配置正確。

  3.在虛擬目錄配置正確的情況下,在瀏覽器地址欄輸入:

    http://localhost:8080/geoman/services

    則顯示如下所示的web服務,其中包括我們發布的Person 服務。如下圖所示:

 

  

  4.點擊Person連接,可以看到Person服務的內容,如下圖所示:

    也可以直接數據Person服務的地址:

    http://localhost:8080/geoman/services/Person?wsdl

    進行訪問。

  

 

  

 六、創建Web服務客戶端:

  1.首先創建一個java project,(我的項目名稱是MyWebServiceClient).

  2.右擊項目創建Web Service Client,在service definition中找到Person.sdwl.完成即可。
    此時,在項目中生成了Person服務的各個類。如下圖所示:

  

  3.創建一個Test測試類,加入如下代碼:

 1 package com.service;
 2 
 3 import java.rmi.RemoteException;
 4 
 5 public class Test {
 6     
 7     public static void main(String args[]){
 8         PersonSoapBindingStub binding = null;
 9         try {
10          binding = (PersonSoapBindingStub)
11                                new PersonServiceLocator().getPerson();
12              }
13              catch (javax.xml.rpc.ServiceException jre) {
14                  if(jre.getLinkedCause()!=null)
15                      jre.getLinkedCause().printStackTrace();
16                
17              }
18 
19              binding.setTimeout(6000);
20              try {
21          System.out.println(binding.desc("GeoMan"));
22         } catch (RemoteException e) {
23          e.printStackTrace();
24         }
25        
26     }
27 
28 }

 

  4.運行Test,則可以看到調用該服務后的運行結果(必須打開tomcat,這樣服務才處於發布狀態):

  

至此,一個基於java的WebService便完整完成了!

 

    

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM