• <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>
    • 軟件測試技術
    • 軟件測試博客
    • 軟件測試視頻
    • 開源軟件測試技術
    • 軟件測試論壇
    • 軟件測試沙龍
    • 軟件測試資料下載
    • 軟件測試雜志
    • 軟件測試人才招聘
      暫時沒有公告

    字號: | 推薦給好友 上一篇 | 下一篇

    WEBLOGIC6.0的一些使用經驗(轉載)

    發布: 2007-7-04 13:34 | 作者: admin | 來源:  網友評論 | 查看: 10次 | 進入軟件測試論壇討論

    領測軟件測試網 感覺寫的很好,所以轉載與大家共享!
    前 言
    WEBLOGIC是一個性能卓越的J2EE服務器,在我國的使用者在快速增長。但現在有關它的中文資料基本沒有,更沒有介紹使用經驗方面的。下面是本人在學習使用WEBLOGIC6.0中得到的一些經驗,寫出來與大家分享。
    一、WEBLOGIC6.0的安裝
    WEBLOGIC6.0自帶了JDK1.3,所以不用預先安裝JDK就可以直接安裝它,在WIN2000平臺是一個EXE文件,直接運行它即可;在UNIX平臺上的安裝包是一個*.bin文件,用sh運行它就可以了,最好是加 -i console的控制臺選項(如果不加,可能會報CLASSNOFOUND等錯誤)如下所示:
    sh weblogic60_sol.bin -i console的控制臺
    注意:
    1、UNIX系統的TMP目錄(環境變量TMPDIR或TMP_DIR所指的路徑)應有足夠的空間,因為WEBLOGIC6.0安裝時先解壓文件到系統的TMP目錄下,然后再進行安裝。如果TMP目錄空間不夠安裝會出錯,這時你可以把TMPDIR設到要足夠空間的目錄下。
    2、如果用普通用戶安裝出錯,可試著用ROOT用戶安裝。一般是環境變量及權限的問題。
    3、安裝軟件可到http://commerce.bea.com/downloads/products.jsp下載,聯機文檔可到http://edocs.bea.com/wls/docs61/index.html下載。

    二、與ORACLE數據庫的連接
    WEBLOGIC6.0通過ORACLE客戶端訪問ORACLE,所以在WEBLOGIC6.0所在的機器上要正確安裝ORACLE客戶端才行。WEBLOGIC6.0對ORACLE提供TYPE2的JDBC DRIVER支持,是一些動態連接庫(NT 是.DLL,UNIX是.SO)文件,在$WL_HOME\bin下,以OCI開頭的幾個目錄中。具體采用哪個目錄下庫文件,與ORACLE SERVER端及CLIENT端的版本及ORACLE API的版本有關,可參考WEBLOGIC6.0的聯機文檔。要把這些庫所在的路徑加到系統的環境變量中,否則訪問數據庫時,WEBLOGIC6.0會報以下錯誤:
    Java.sql.SQLException: System.loadLibrary threw java.lang.UnsatisfiedLinkError
    with the message ''no WEBLOGICoci37 in java.library.path''.....
    在WIN2000中要加到PATH環境變量中,如:
    set PATH= D:\WEBLOGIC6.0\wlserver6.0\bin\oci816_7;c:\ORANT816\bin;%PATH%
    在NIX平臺,要到系統的LIBRARY PATH中,如在SUN上,要加到LD_LIBRARY_PATH環境變量中,方法如下:
    export LD_LIBRARY_PATH=/bea/weblogic6.0/oci816_8:$ORACLE_HOME/lib
    在HP平臺上,要加到SHLIB_PATH環境變量中,如:
    export SHLIB_PATH=/bea/ weblogic6.0/lib/hpux11/oci816_8:$ORACLE_HOME/lib

    三、在WEBLOGIC6.0中設置資源的訪問權限
    WEBLOGIC6.0幾乎可以對它所管理的所有資源設置訪問控制表,包括EJB、JSP、SERVLET、POOL、JMS、RMI、JNDI、JDBC等等。當用戶第一次訪問設置了訪問控制表的資源時,WEBLOGIC6.0會彈出一個對話框要求輸入口令及密碼,如果連輸3次都不對,會返回以下錯誤:
    Error 401--Unauthorized xxx  
    From RFC 2068 Hypertext Transfer Protocol -- HTTP/1.1:
    10.4.2 401 Unauthorized

    對訪問權限的設置有兩種方式:
    1、 在WEBLOGIC6.O的控制臺中設置,把結果保存到fileRealm.properties中,即采用WEBLOGIC6.0的file realm.感覺對DATABASE POOL,EJB等比較好用,對JSP,SERVER及某個目錄設置訪問控制表比較難。我試了很多次都沒成功。它可對WEB用戶(通過瀏覽器訪問)和普通用戶(通過JAVA客戶端等訪問)起作用。
    2、在WEB.XML,WEBLOGIC.XML中設置,只能對WEB用戶起作用。下面舉個例子說明這種方式。
    如:在一個名為OrderWebApp的WEB APPLICATION中,客戶的定單文件都放到/orders目錄下,只有manager能瀏覽該目錄下的文件。其WEB.XML及WEBLOGIC.XML可設置如下:

    *************************WEB.XML*************************  
    <!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 1.2//EN" "http://java.sun.com/j2ee/dtds/web-app_2_2.dtd">
    <web-app>
    <security-constraint>

    <web-resource-collection>
    <web-resource-name>SecureOrdersEast</web-resource-name>
    <description>Security constraint for resources in the orders directory</description>
    <url-pattern>/orders/*</url-pattern>
    <http-method>POST</http-method>
    <http-method>GET</http-method>
    </web-resource-collection>

    <auth-constraint>
    <description>constraint for orders</description>
    <role-name>manager</role-name>
    </auth-constraint>

    <user-data-constraint>
    <description>SSL not required</description>
    <transport-guarantee>NONE</transport-guarantee>
    </user-data-constraint>

    </security-constraint>

    <security-role>
    <description>managers</description>
    <role-name>manager</role-name>
    </security-role>

    </web-app>

    說明:<security-constraint>中定義資源的訪問控制表。在<web-resource-collection>中定義資源及其存取方式;在<auth-constraint>中定義可訪問該資源的角色;在 <user-data-constraint>中定義WEBLOGIC SERVER與CLIENT之間的開始通訊時,是否采用SSL建立連接。在<security-role>中定義角色名。

    *************************WEBLOGIC.XML*************************
    <!DOCTYPE WEBLOGIC6.0-web-app PUBLIC "-//BEA Systems, Inc.//DTD Web Application 6.0//EN" "http://www.bea.com/servers/wls600/dtd/WEBLOGIC6.0-web-jar.dtd">
    <WEBLOGIC6.0-web-app>
    <security-role-assignment>
    <security-role-assignment>
    <role-name> manager </role-name>
    <principal-name>peter</principal-name>
    <principal-name>bill</principal-name>
    </security-role-assignment>
    </WEBLOGIC6.0-web-app>

    說明:在<security-role-assignment>定義與WEB.XML中定義的角色所對應的用戶。這些用戶必須已在WEBLOGIC6.0的控制臺中定義才行。

    當在瀏覽器中輸入http://localhost:7001/OrderWebApp/orders/order100.html時,WEBLOGIC6.0要求輸入用戶名及口令.只有peter,bill能夠訪問該文件。
    我發現:如果沒有在WEBLOGIC.XML中設置<security-role-assignment>,并在WEBLOGIC6.O的控制臺中定義的用戶名與WEB.XML中<security-role>中角色的名字一樣。則該用戶可以訪問受保護的資源。如果在在WEBLOGIC.XML中設置了<security-role-assignment>,則與<security-role>中的角色名字一樣的用戶也不能訪問受保護的資源,只有在<security-role-assignment>中定義的用戶才可以訪問受保護的資源。

    四、JSP的設置及調試
    在WEBLOGIC6.0中,JSP要放到一個WEB APPLICATION 中才能對它進行訪問,對JSP的配置在WEBLOGIC.XML中,如下所示:
    <!DOCTYPE WEBLOGIC6.0-web-app PUBLIC "-//BEA Systems, Inc.//DTD Web Application 6.0//EN" "http://www.bea.com/servers/wls600/dtd/WEBLOGIC6.0-web-jar.dtd">
    <WEBLOGIC6.0-web-app>
    <jsp-descriptor>
    <jsp-param>
    <param-name>
    pageCheckSeconds
    </param-name>
    <param-value>
    1
    </param-value>
    </jsp-param>
    <jsp-param>
    <param-name>
    verbose
    </param-name>
    <param-value>
    true
    </param-value>
    </jsp-param>
    </jsp-descriptor>
    </WEBLOGIC6.0-web-app>

    比較重要的有pageCheckSeconds,設置WEBLOGIC6.0每隔多長時間檢測一次JSP文件的內容是否改變,并需要重新編譯,等于0,每次調用都重新編譯(一般用于調試環境中),等于-1從不重新編譯(一般用于運行環境中)。當第一次訪問某個WEB APPLICATION下的一個JSP文件時,WEBLOGIC6.0把它編譯成一個CLASS文件并放到相應的目錄下:
    1、 如果是以目錄結構形式發布的WEB APPLICATION,放到該WEB APPLICATION的
    WEB-INF\_tmp_war_examplesServer_examplesServer_*目錄下。
    2、如果該WEB APPLICATON是以一個WAR文件布置的,則放到:
    …\applications\.wl_temp_do_not_delete\WEB-INF\_tmp_war_examplesServer_examplesServer_*目錄下。
    在調試JSP時,為了使每次總是訪問最新的頁面,除了設置pageCheckSeconds=0外,應該讓IE不緩存該頁面。設置如下:
    把/工具/INTERNET選項/常規/設置/的檢察所存頁面的較新版本,設為每次訪問該頁時都檢查。如果還是不能看到最新的頁面,可以到以上介紹的目錄下把與該JSP對應的CLASS文件刪除,強制WEBLOGIC6.0重編譯。

    五、PASSWORD的管理
    WEBLOGIC6.0每次啟動時都會提示請輸入密碼,如果不想每次啟動時都輸入密碼,可創建一個PADDWORD.INI文件,并把密碼保存在該文件中即可。也可以用-Dpassword=PASSWORD 把密碼加到啟動腳本中。密碼可在WEBLOGIC6.O的控制臺中的SECURITY中修改。

    六、WEBLOGIC6.O控制臺的使用
    WEBLOGIC6.O的控制臺要在IE5.0以上的版本中才能啟動,如果IE設置了代理服務器,WEBLOGIC6.O的控制臺有可能無法啟動,應把代理服務器的設置去掉在/工具/INTERNET選項/連接/局域網設置中。在WEBLOGIC6.0的控制臺能完成幾乎所有的配置,不象WEBLOGIC5.1有時候要直接修改配置文件。

    七、config.xml文件
    每次WEBLOGIC6.0啟動成功,會自動把CONFIG.XML文件備份成CONFIG.XML.BOOTED(在相同的目錄下)。如果CONFIG.XML中的內容被改動,
    導致WEBLOGIC6.0無法啟動成功,可用它覆蓋被破壞的CONFIG.XML。如果在CONFIG.XML中登記的資源(如某個EJB,WAR文件)被刪除,WEBLOGIC6.0每次啟動都會給出錯誤提示,可手工把該EJB或WAR在CONFIG.XML中的登記項刪除,以后就不會提示。要注意經常對該文件備份。

    八、對默認WEB APPLICATION的訪問
    WEBLOGIG有一個默認的WEB APPLICATION,如果某一個HTTP(HTTPS)請求,所指定的WEB APPLICATION都無法處理時,會自動讓DEFAULT APPLICATION 來處理,如果DEFAULT APPLICATION也處理不了,則報錯。如要訪問 HTTP://LOCALHOST:7001/MYWEB/MY.JSP。當MYWEB中沒有MY.JSP,如果DEFAULT APPLICATION中有MY.JSP,則由它把結果返回給瀏覽器。默認WEB APPLICATION就是APPLICATIONS下的DefaultWebApp_examplesServer,它只能是以目錄結構形式布置,不能是一個WAR文件,如果把該目錄刪除,WEBLOGIC6.0啟動時也會自動生成該目錄。訪問它時,不用加上該WEB APPLICATION的名字,加在反而會訪問不到。如在DefaultWebApp目錄下有一個TEST.JSP: HTTP://LOCALHOST:7001/TEST.JSP能訪問到該JSP,但HTTP://LOCALHOST:7001/DefaultWebApp_examplesServer/TEST.JSP訪問不到。
    注意:訪問其他的WEB APPLICATION中的文件。要加上該WEB APPLICATION的名字才行。

    九、配置CLUSTER應注意的問題
    1、要設置網關
    配置CLUSTER時,每臺服務器都要配置默認網關,如果沒有配置,MANAGER SERVER會無法連接到ADMINISTRATOR SERVER上。在WIN2000中,可在控制面板中直接加,在UNIX下,用router add IP address設置,IP ADDRESS 可用該服務器的IP地址,并把最后一節改為1,如192.168.1.111可用192.168.1.1做默認網關。UNIX下可用netstat -rn 查看系統的默認網關。
    2、WEBLOGIC6.0以CLUSTER方式運行,所采用包含CLUSTER許可的LICENSE才行。
    3、MulticastAddress不合法
    有效的MulticastAddress是從224.0.0.0 到 239.255.255.255。
    可用WEBLOGIC6.0帶的utils.MulticastTest 測試所用的MulticastAddress是不是正常。如:
    java utils.MulticastTest -N test -A 237.0.0.1
    -N 指定一個名字標識該進程,可隨便起。
    -A 要測的IP地址
    4、在一個CLUSTER中的WEBLOGIC6.0 SERVER的版本要一致,監聽的端口也要一樣。
    5、最好不要在ADMINISTRATOR SEVER中布置任何的應用,把應用放大MANAGED SERVER上。

    十、在WEBLOGIC6.0在布置應用
    1、WEBLOGIC6.0中應用可分三種,分別對應不同的描述文件及擴展名或目錄結構:
    (1)*.JAR: 是EJB的壓縮包(有3個描述文件ejb-jar.xml,WEBLOGIC6.0-ejb-jar.xml,WEBLOGIC6.0-cmp-rdbms-jar.xml)
    (2)*.WAR: 是只包含JSP和SERVLET的WEB APPLICATION壓縮包(有2個描述文件web.xml,webloigc.xml)
    (3)*.EAR: 是包含EJB和WEB APPLICATION 的J2EE Enterprise Application壓縮包(有1 個描述文件,application.xml)

    注意:它們不能混用,如WEB APPLICATOIN不能打包成.EAR文件。

    2、WEBLOGIC6.0的應用用兩種發布方式:
    (1)以目錄形式存放在WEBLOGIC6.0的APPLICATIONS目錄下,適用于開發階段
    (2)以一個壓縮包形式存放在WEBLOGIC6.0的APPLICATIONS目錄下,適用于運行階段,可用JAR 打包,如D:\test>jar cf testwar.war *
    把TEST目錄下的所有文件打包成一個testwar.war文件。

    3、WEBLOGIC6.0應用的布置方式有2種
    (1)靜態布置:即把應用在CONFIG.XML中登記,可通過WEBLOGIC6.O的控制臺進行添加,WEBLOGIC6.0會自動把該應用對應的壓縮包拷到APPLICAITONS目錄下,如果對該應用修改,需要重新布置才行。
    (2)動態布置:沒有在CONFIG.XML中登記,可直接把壓縮包或目錄拷到APPLICATIONS目錄下,WEBLOGIC6.0會自動檢測到.WEBLOGIC6.0每次啟動時會自動對APPLICATIONS目錄下沒有進行靜態布置的應用,進行動態布置。

    4、一個例子:
    如果一個應用中有EJB,JSP,SERVLET,其布置步驟如下:
    (1)生成EJB的JAR文件,最好一個JAR文件對應一個EJB
    (2)生成WEB APPLICATION的WAR文件,在WEB.XML,WEBLOGIC.XML中登記,配置SERVLET,JSP等。
    (3)創建一個APPLICATION.XML文件,設置該應用的屬性.把APPLICATION.XML,*.JAR, *.WAR,打包成一個*.EAR
    (4)WEBLOGIC6.O的控制臺中登記該應用或把該EAR文件拷到APPLICAITON目錄下。到處就完成。

    十一、WEBLOGIC6.0 6.0中的CLASSPATH問題
    WEBLOGIC6.0 6.0中的CLASSPATH比5.1要簡單的多,下面對其做一個小結:
    1、WEBLOGIC6.0 6.0啟動所需的CLASSPATH只要如下設置就可以了  
    SET %WL_HOME%\lib\WEBLOGIC6.0_sp.jar; %WL_HOME%\lib\WEBLOGIC6.0.jar
    如果要用到它帶的CLOUDSCAPE數據庫,則加上:
    %WL_HOME%\samples\eval\cloudscape\lib\cloudscape.jar
    2、EJB中引用的CLASS要在系統的CLASSPATH中,才能訪問到。
    3、如果是一個WEB APPLICATOIN中的某個SERVLET,JSP引用了其他的CLASS,把他們放到該WEB APPLICATOIN的\WEB-INF\classes目錄下WEBLOGIC6.0可以訪問到。當然,如果在系統的CLASSPATH中設置這些類的路徑,WEBLOGIC6.0也可以訪問到。在調用時,WEBLOGIC6.0會把WEB-INF/CLASSES/下的類都COPY到../applications/.wl_temp_do_not_delete/...../WEB-INF下,不管是打包的EAR,WAR文件還是沒打包的目錄方式。
    4、如果一個WEB APPLICATION中的JSP中調用到EJB,即JSP是EJB的CLIENT,只要在該JSP中IMPORT一下就可以,如某個JSP調用到EJB: com.test.bbs.jar,其IMPORT格式如下:
    <%@ page import="
    javax.naming.*,
    javax.ejb.*,
    java.rmi.RemoteException,
    java.rmi.Remote,
    java.util.*,
    java.sql.*,
    com.test.bbs.*
    "%>
    當然,該com.test.bbs.jar必須已正確布置。
    當該WEB APPLICATION是以WAR文件布置時,com.test.bbs.jar不用在系統的CLASSPATH或該WEB APPLICATION的WEB-INF/CLASSES中,該JSP能調用到。但如果一個WEB APPLICATION是以一個目錄的方式放在APPLICATIONS下時,該EJB中的類要在系統的CLASSPATH中才能訪問到。放到該WEB APPLICATION的WEB-INF/CLASSES/下,該JSP是訪問訪問不到這個EJB的?梢园裞om.test.bbs.jar加到系統的CLASSPATH中,如WEBLOGIC6.0啟動時的CLASSPATH可如下設置:
    set CLASSPATH=.;.\lib\WEBLOGIC6.0_sp.jar;.\lib\WEBLOGIC6.0.jar;D:\WEBLOGIC6.0\wlserver6.0\config\examples\applications\xcjing_ejb_bbsok.jar
    也可以把bbsHome.class.bbsBean.class,bbs.class拷貝到系統的CLASSPATH指定的某一路徑下,如WEBLOGIC6.0啟動的CLASSPATH如下:
    CLASSPATH=.;.\lib\WEBLOGIC6.0_sp.jar;.\lib\WEBLOGIC6.0.jar;D:\WEBLOGIC6.0\wlserver6.0\config\examples\serverclasses
    可以以上3個文件拷到D:\WEBLOGIC6.0\wlserver6.0\config\examples\serverclasses,該JSP也能訪問到。
    5、如果一個 APPLICATION中的JSP中調用到EJB,CLASSPATH,設置同上。如果該APPLICATION中的EJB中引用的其他的CLASS,則這些CLASS要在系統的CLASSPATH中,才能訪問到。

    延伸閱讀

    文章來源于領測軟件測試網 http://www.kjueaiud.com/


    關于領測軟件測試網 | 領測軟件測試網合作伙伴 | 廣告服務 | 投稿指南 | 聯系我們 | 網站地圖 | 友情鏈接
    版權所有(C) 2003-2010 TestAge(領測軟件測試網)|領測國際科技(北京)有限公司|軟件測試工程師培訓網 All Rights Reserved
    北京市海淀區中關村南大街9號北京理工科技大廈1402室 京ICP備2023014753號-2
    技術支持和業務聯系:info@testage.com.cn 電話:010-51297073

    軟件測試 | 領測國際ISTQBISTQB官網TMMiTMMi認證國際軟件測試工程師認證領測軟件測試網

    老湿亚洲永久精品ww47香蕉图片_日韩欧美中文字幕北美法律_国产AV永久无码天堂影院_久久婷婷综合色丁香五月

  • <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>