国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

在J2EE上部署Web服務(Web Services)(1)

2019-11-18 16:15:56
字體:
來源:轉載
供稿:網友

  Web服務繼續從開發者那里得到動力。從2002年9月web服務概念首次引入時笨拙的定義
開始,現在已經發展到在2002年3月javaOne上有63個會議是完全關于該主題的。(會議
幻燈片鏈接,見更多信息)。所以,隨著Java 2 平臺上開發Web服務關鍵軟件包的更新
,我們決定更新Java 2 平臺企業版(J2EE)上部署Web服務的基本指南。
J2EE的靈活性和可伸縮性使得它成為構建多層企業級應用的一個可選擇平臺。在J2EE平
臺上部署Web服務是一個很自然的擴展。Java Web Services Developer Pack(Java WS
DP或JWSDP)是一個一體化的下載包,它包含了簡化Java平臺上構建Web服務的關鍵技術
。JWSDP是Sun和Java社團的其他成員共同開發的工具和API包。它可以幫助你迅速快捷地
開發Web服務。
你可以在J2EE上運行Java WSDP構件或者將構件與J2EE集成。本文先簡略地介紹Web服務
,然后說明如何:
建立開發Web服務(JWSDP EA2)的J2EE 1.3.1環境
根據Sun Quality EXPectations(SQE)組的指南將Web服務與J2EE集成
根據SQE組的指南在J2EE上部署web服務示例。
在J2EE上運行web服務
這些指南覆蓋了UNIX和Windows。一般的指導適合于Windows平臺上的開發者,對于UNIX
上的例外使用UNIX前綴進行標識。屏幕畫面是Windows平臺的,但是因為JWSDP使用Swin
g,所以UNIX開發者也應該可以看到同樣的畫面。
注意:該指南是為JWSDP EA2編寫的。如果你一直使用JWSDP EA1,那么下載EA2,它在幾
個方面都有改進。
Web服務介紹
Web服務是確定從任何連接Internet的具有web服務能力的機器提供的服務。Web服務通過
一組基于xml的開放標準使得互操作性成為可能。商業上使用基于XML的Web服務描述語言
(Web Services Description Language,WSDL)描述它們的Web服務,并用一種基于XM
L的注冊方式,如統一描述、發現和集成(Universal Description, Discovery and In
tegration,UDDI)協議,將它們列出來。 UDDI允許你查找公開的可訪問的web服務,如
圖1所示。客戶向目錄發送一個服務請求,目錄通知客戶符合請求條件的已注冊服務。然
后使用SOAP,一種利用HTTP和XML作為交換機制的協議,在不同平臺的應用程序之間進行
通信。
圖1 Web服務協議
如果想了解更多的有關web服務的背景知識,可以參考更多信息中的介紹性資料。
下載和安裝J2EE和JWSDP
如果還沒有下載和安裝J2EE SDK1.3.1和JWSDP EA2,則下載并安裝該指南所介紹的J2EE
SDK1.3.1和JWSDP EA2。安裝是自解壓的(兩個包都含有安裝和配置手冊),最主要的
配置步驟是要確保環境變量J2EE_HOME和JWSDP_HOME指向正確的安裝路徑,因為許多其他
的環境變量都依賴她們的配置。
JWSDP和J2EE集成
集成過程包括兩項主要任務:將JWSDP相關的JAR文件添加到J2EE中,然后進行一些端口
配置并設置安全權限。
注意:如果安裝了Ant build工具,則可以運行腳本:%JWSDP_HOME%injw2sdponj2ee
.bat (UNIX:$JWSDP_HOME/bin/jw2sdponj2ee.sh)。這些腳本使用一個安裝JWSDP的b
in目錄下的Ant build文件(jwsdponj2ee.xml)。如果讓Ant執行配置過程,可以跳到下
一節了解如何在J2EE平臺上打包和部署web服務。如果想了解內部機制,可以按照這里給
出的指南手工進行配置。關于Ant腳本的更多信息,請參看:%JWSDP_HOME%docsjwsdp
onj2ee.Html($JWSDP_HOME/docs/jwsdponj2ee.html)。
為了添加必要的JWSDP相關JAR文件,首先使用幾個JWSDP JAR文件建立兩個主要的JAR文
件(jwsdp-common.jar和jwsdp-endorsed.jar),然后將這兩個新的JAR文件拷貝到正確
位置并進行一些配置。
建立jwsdp-common.jar文件
1、 建立一個臨時目錄(例如:%JWSDP_HOME%workjwsdp_jars)。(UNIX:$JWSDP_H
OME/work/jwsdp_jars)
2、 將下列JAR文件從%JWSDP_HOME%commonlib拷貝到%JWSDP_HOME%workjwsdp_jars
。%JWSDP_HOME%環境變量定義了安裝JWSDP的絕對路徑。例如,在我的Windows機器上,
它是c:jwsdp。(UNIX:從$JWSDP_HOME/common/lib拷貝到$JWSDP_HOME/work/jwsdp_j
ars。$JWSDP_HOME環境變量定義了安裝JWSDP的home目錄)
mail.jar
該JAR文件包含JavaMail API和所有的服務提供者(service PRovider)。
activation.jar
該JAR文件包含了組成JavaBeans Activiation Framwork(JAF)的類。
dom4j.jar dom4j.jar是一個針對Java的開放源代碼XML框架。它允許讀、寫、定位、新
建和修改XML文檔。它與DOM和SAX集成并與完全Xpath支持無縫集成。dom4j.jar文件包含
所有dom4j代碼和Xpath引擎,但沒有SAX和DOM接口。如果你使用JAXP和crimson.jar或x
erces.jar的話,就要使用該JAR文件。
jaxrpc-api.jar和jaxrpc-ri.jar 這兩個JAR文件包含JAX-RPC API和基于XML遠程過程調
用(Remote Procedure Call,RPC)Java API的參考實現,它們使得Java開發者可以根
據簡單對象訪問協議(SOAP)規范構建基于XML RPC功能的web應用程序和web服務。
jaxm-api.jar和jaxm-client.jar 這兩個JAR文件包含支持XML 消息傳輸的Java API參考
實現 。JAXM是一個發送和接受SOAP消息的基于XML的消息傳輸系統。
jaxr-api.jar和jaxr-ri.jar 這兩個JAR文件包含了JAXR或者說支持XML注冊的Java API
參考實現。JAXR提供了訪問不同類型XML注冊的統一標準。它包括JAXR信息模型和ebXml
注冊及UDDI注冊規范之間的詳細綁定。
jaxp-api.jar JAXP是支持XML處理的Java API。它支持利用DOM、SAX和XSLT處理XML文檔

castor-0.9.3.9-xml.jar Castor是一個XML數據綁定框架。不像處理XML文檔結構的DOM
和SAX,Castor可以通過代表數據的對象模型處理定義在XML文檔中的數據。Castor可以
從XML建立幾乎所有的如bean的Java對象,或相反。
commons-logging.jar 該JAR文件包含了一個日志記錄庫包
fscontext.jar和providerutil.jar 這兩個JAR文件包含文件系統服務provider。
3、 將下列JAR文件從%JWSDP_HOME% oolsjstl拷貝到%JWSDP_HOME%workjwsdp_jar(
UNIX:從$JWSDP_HOME/tools/jstl拷貝到$JWSDP_HOME/work/jwsdp_jar)。
jstl.jar
standard.jar
這兩個JAR文件提供了jsp標準標簽庫的實現。
4、 將provider.jar從%JWSDP_HOME%servicesjaxm-providerWEB-INFlib拷貝到%JW
SDP_HOME%workjwsdp._jars(UNIX:從$JWSDP_HOME/services/jaxm-provider/WEB-I
NFlib拷貝到$JWSDP_HOME/work/jwsdp._jars)。
provider.jar是一個JAXM provider,JAXM provider是路由和傳輸消息的消息傳輸服務
。它所做的一切對用戶都是透明的。只有當應用程序異步(或單向)通信時才需要JAXM
provider。
5、 將目錄改變為從%JWSDP_HOME%workjwsdp_jars(UNIX:$JWSDP_HOME/work/jwsdp
_jars)。
6、 利用目錄%JWSDP_HOME%workjwsdp_jars(UNIX:$JWSDP_HOME/work/jwsdp_jars)
下的文件建立jwsdp-common.jar。如下:
jar -cvf %JWSDP_HOME%workjwsdp-common.jar .
注意命令末尾的點。
(UNIX:jar -cvf $JWSDP_HOME/work/jwsdp-common.jars . 注意命令末尾的點。)
現在%JWSDP_HOME%work下就有了一個jwsdp-common.jar(UNIX:$JWSDP_HOME/work)。

建立jwsdp-endorsed.jar文件
1、 建立一個臨時目錄(例如:%JWSDP_HOME%workendorsed_jars)。(UNIX:$JWSD
P_HOME%/work/endorsed_jars)
2、 將下列JAR文件從%JWSDP_HOME%commonendorsed拷貝到%JWSDP_HOME%workendor
sed_jars。(UNIX:從%JWSDP_HOME%/common/endorsed拷貝到$JWSDP_HOME%/work/endo
rsed_jars。)
sax.jar SAX是支持XML的簡單API(Simple API for XML)。該JAR文件包含SAX的實現。

dom.jar DOM是文檔對象模型。該文件包含DOM的實現。
xercesImpl.jar 該JAR文件包含所有實現解析器支持的標準API的解析器類。
xalan.jar 該JAR文件包含XSLT樣式表處理器。它實現了XSLT和Xpath。
xsltc.jar 該JAR文件提供了一個XSLT樣式表的編譯器和運行時處理器。
3、 將目錄改變到%JWSDP_HOME%workendorsed_jars(UNIX:$JWSDP_HOME%/work/end
orsed_jars)。
4、 利用目錄%JWSDP_HOME%workendorsed_jars 下的JAR文件建立jwsdp-endorsed.ja
r(UNIX:$JWSDP_HOME%/work/endorsed_jars),如下:
jar -cvf %JWSDP_HOME%workjwsdp-endorsed.jar .
注意命令末尾的點。
(UNIX:jar -cvf $JWSDP_HOME%/work/jwsdp-endorsed.jar .)
現在%JWSDP_HOME%work目錄下就有了一個jwsdp-endorsed.jar文件(UNIX:$JWSDP_HO
ME%/work)
將JAR文件拷貝到正確位置并設置類路徑:
1、 在%J2EE_HOME%libsystem目錄下建立一個名為endorsed的目錄(UNIX:$J2EE_HO
ME/lib/system)。這個在J2SDK1.4中引入的系統屬性指定了Java運行時系統查找JAR文
件的目錄。
2、 將jwsdp-endorsed.jar從%JWSDP_HOME%work拷貝到%J2EE_HOME%libsystemendo
rsed(UNIX:$J2EE_HOME/lib/system/endorsed)
3、 打開J2EE環境配置腳本文件%J2EE_HOME%libsetenv.bat(UNIX:$J2EE_HOME/lib
/setevn.sh),在這里設置J2EE環境變量,將jwsdp-endorsed.jar插入CPATH的開始位置

set CAPTH= %SYSTEM_LIB_DIR%endorsedjwsdp-endorsed.jar;%CLOUDJARS%;%CLASSES
DIR%
CPATH的其他部分應該保持不變。在UNIX下:CPATH=$SYSTEM_LIB_DIR/endorsed/jwsdp-
endorsed.jar 等等。
4、 打開用戶配置腳本文件 %J2EE_HOME%inuserconfig.bat(UNIX:$J2EE_HOME/bi
n/userconfig.sh)并將jwsdp-common.jar通過下列操作添加到J2EE_CLASSPATH中:
通過去掉J2EE_CLASSPATH前面的rem使J2EE_CLASSPATH生效。
在J2EE_CLASSPATH前新增加定義SYSTEM_LIB_DIR的一行,如下: set SYSTEM_LIB_DIR=
%J2EE_HOME%libsystem (UNIX: SYSTEM_LIB_DIR=$J2EE_HOME/lib/system)
設置J2EE_CLASSPATH如下:
set J2EE_CLASSPATH=%SYSTEM_LIB_DIR%jwsdp-common.jar (UNIX: J2EE_CLASSPATH=$
SYSTEM_LIB_DIR/jwsdp-common.jar)
5、 打開J2EE服務器腳本文件%J2EE_HOME%inj2ee.bat(UNIX: $J2EE_HOME/bin/j2e
e.sh),在文件的最后一行找到the %JAVA_COMMAND% (UNIX: JAVACMD),然后指定系統
屬性java.endorsed.dirs如下:
%JAVA_COMMAND%-Djava.endorsed.dirs=%J2EE_HOME%libsystemendorsed (其余行保
持不變) -classpath %CPATH% com.sun.enterprise.server.J2EEServer and so on)
(UNIX: $JAVACMD -Djava.endorsed.dirs=$J2EE_HOME/lib/system/endorsed 等等)
注意:系統屬性java.endorsed.dirs指定了Java運行時環境查找JAR文件的一個或多個目
錄。只有當在J2SDK1.4上運行J2EE SDK1.3.x時才設置該系統屬性。
配置web服務器端口和設置安全權限
1、 打開文件%J2EE_HOME%configweb.properties (UNIX: $J2EE_HOME/config/web.
properties)將http.port號碼從8000改成8080,因為JWSDP使用的Tomcat web服務器缺
省情況下使用8080端口,一些JWSDP示例程序也使用這個端口。web.properties文件用來
設置web屬性(如端口號、HTML根目錄、日志文件等等)。因此http.port=8080是HTTP服
務用來服務請求的端口。
2、 打開文件%J2EE_HOME%libsecurityserver.policy (UNIX: $J2EE_HOME/lib/sec
urity/server.policy),然后在文件的末尾缺省域中指定下列權限:
permission java.io.FilePermission "", "read,write,delete";
permission java.util.PropertyPermission "*", "read,write";
permission java.lang.RuntimePermission "modifyThreadGroup";
server.policy是J2EE服務器的Java 安全策略文件。它包含J2EE引擎的Java 安全策略設
置和授權給一個程序特定訪問的權限。
添加到安全策略文件中的第一行授權在所有文件上有讀、寫和刪除的權限。第二行允許
讀和寫任何系統屬性。讀權限允許調用System.getProperty。寫權限允許調用System.s
etProperty。第三行是運行時權限。在本例中,這個屬性運行通過調用ThreadGroup的d
estroy, getParent, resume, setDaemon, setMaxPriority, stop 和 suspend方法修改
線程組。你需要所有這些權限運行JWSDP附帶的JAXM Provider Admin Tool,jaxm-remot
e.jar和jaxm-soaprp例子。

(出處:http://m.survivalescaperooms.com)



發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 扬中市| 沛县| 宿迁市| 卢湾区| 如皋市| 锦州市| 金华市| 酒泉市| 布拖县| 海城市| 建德市| 祁东县| 安顺市| 如皋市| 方正县| 三原县| 无极县| 古蔺县| 封丘县| 出国| 屏东县| 山丹县| 仁布县| 蓝田县| 滁州市| 柏乡县| 鄢陵县| 天镇县| 那坡县| 沧源| 旌德县| 远安县| 嘉黎县| 张家港市| 日土县| 湟中县| 新乡市| 沅陵县| 三门峡市| 闽侯县| 甘德县|