国产一级a片免费看高清,亚洲熟女中文字幕在线视频,黄三级高清在线播放,免费黄色视频在线看

打開APP
userphoto
未登錄

開通VIP,暢享免費電子書等14項超值服

開通VIP
感受野馬(Mustang)性情,體會Java SE 6.0的新特性之二--Web服務(wù)

在前一篇文章中,講述了Java SE 6.0新特征的概觀。本文將介紹Web服務(wù)。

Java Web 涉及到的JSR有 105,173,181,222,224,250。

由于Web服務(wù)日趨流行,利用Web服務(wù)的功能性的API特征正從最新的Java EE版本中向Java SE 6平臺遷移。換言之,針對Web服務(wù)不需另外加入額外的工具,在Java EE和Java SE平臺擁有相同的API。野馬將大把不同的Web服務(wù)相關(guān)的API加到標準的工具柜中:以JSR 181針對Java 平臺的Web服務(wù)元數(shù)據(jù),通過JSR 224的基于XML 的Web服務(wù)Java API(JAX-WS);針對Java的帶有附件的SOAP API(SAAJ)作為JSR 67

與三個Web服務(wù)API相關(guān)的包新增到Java SE 6.0里JAX-WS API 放置到javax.xml.ws包; SAAJ類在javax.xml.soap 包; Web服務(wù)的元數(shù)據(jù)類放置在javax.jws包里。

javax.jws

JSR 181 及其針對Java 平臺Web服務(wù)元數(shù)據(jù)的規(guī)范提供一個在類中利用標注設(shè)計和開發(fā)Web服務(wù)的機制。標注從J2SE 5.0引入,在Java SE 6.0得到了進一步擴展。在第10章將會完整描述。但是,標注基本上允許將@tag加入到類,方法和特性來描述相關(guān)的元數(shù)據(jù)。一個解析器然后能定位標記并采取適當(dāng)?shù)男袆?;盡管行動什么時候發(fā)生完全依賴于標記自身。

JAX-WS 2.0 很容易使用. 本文將介紹如何使用Java SE 6。以JAX-WS如何建立一個簡單的Web服務(wù)。首先建立一個建立一個將要作為Web服務(wù)發(fā)布的類,如表1所示:

Java 代碼 列表1

 1
package  hello;
 2

 3
public   class  CircleFunctions  {
 4

 5
   
public   double  getArea( double  radius)  {
 6
       
return  java.lang.Math.PI  *  (r  *  r);
 7
    }

 8

 9
   
public   double  getCircumference( double  radius)  {
10
       
return   2   *  java.lang.Math.PI  *  r;
11
   }

12
}

13

14

 

為了輸出這些方法,必需做兩件事情:引入javax.jws.WebService  包;在類的前面增加@WebService  標注以告訴Java編譯器將發(fā)布此類為Web服務(wù)。下面的代碼顯示了這種變化(以黑體顯示增加的代碼)。

Java 代碼 列表2
 1
package hello;
 2

 3
import javax.jws.WebService;
 4

 5
@WebService
 6

 7
public class CircleFunctions {
 8
   
public double getArea(double r) {
 9
       
return java.lang.Math.PI * (r * r);
10
    }

11

12
   
public double getCircumference(double r) {
13
        
return 2 * java.lang.Math.PI * r;
14
    }

15

16
}

17

18

在此,有兩個基本的標注@WebService@WebMethod。@WebService標注指明HelloService 類作為Web服務(wù)。如果沒有制定,標注的名稱就是類的名稱。也能制定命名空間,服務(wù)名,WSDL 位置和endpoint 接口等。在指定的上下文環(huán)境中,可以使用javax.xml.ws.Endpoint類的publish() 靜態(tài)方法發(fā)布上面的類作為Web服務(wù)。代碼見列表3:

Java 代碼 列表3

 1
import javax.xml.ws.Endpoint;
 2

 3
public static void main(String[] args) {
 4

 5
      Endpoint.publish(
 6
         
"http://localhost:8080/WebServiceExample/circlefunctions",
 7
         
new CircleFunctions());
 8

 9
}

10

11

現(xiàn)在,用javac編譯源代碼。但是源文件能做什么呢?通過對源文件運行 javac編譯器進行編譯只是產(chǎn)生了class文件。并沒有產(chǎn)生特殊的東西。但是在編譯類之后,也需要運行wsgen 命令行工具(wsgen 是Web service generator的縮寫)。編譯源代碼后還必需完成更多的步驟:像下面一樣調(diào)用wsgen工具。

>  wsgen –cp . hello.CircleFunctions

Wsgen工具將在一個叫做wsgen子目錄下產(chǎn)生大量的源代碼,然后將這些源代碼編譯成class文件。盡管從未編輯這些文件,但是可以瀏覽這些文件。注意在使用Wsgen工具時,原始的源代碼必需在相應(yīng)的包里。否則將產(chǎn)生錯誤。

就這么簡單。當(dāng)運行應(yīng)用程序時,Java SE 6平臺擁有一個小的Web應(yīng)用服務(wù)器,它將在地址為http://localhost:8080/WebServiceExample/circlefunctions 發(fā)布Web服務(wù)。通過顯示CircleFunction的WSDL 來驗證Web服務(wù)。當(dāng)JVM仍然運行時,在瀏覽器輸入:

http:  // localhost:8080/WebServiceExample/circlefunctions?WSDL    

如果在瀏覽器里看見大量描述Web服務(wù)的功能的XML代碼,那么Web服務(wù)就成功發(fā)布了。
本站僅提供存儲服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊舉報。
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
JDK6的新特性之十一:更簡單,更強大的JAX-WS - Java天下社區(qū) - www.javatx.cn - J2SE綜合
jdk6下開發(fā)webservice示例
Web Service 那點事兒(1)
Android開發(fā)WebService(Java版)
利用JAX-WS開發(fā)Web服務(wù) - 架構(gòu)與設(shè)計 -
webservice快速入門(一)
更多類似文章 >>
生活服務(wù)
分享 收藏 導(dǎo)長圖 關(guān)注 下載文章
綁定賬號成功
后續(xù)可登錄賬號暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點擊這里聯(lián)系客服!

聯(lián)系客服