前言:
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的控制臺
注意:
UNIX系統的TMP目錄(環境變量TMPDIR或TMP_DIR所指的路徑)應有足夠的空間,因為WebLogic6.0安裝時先解壓文件到系統的TMP目錄下,然后再進行安裝。如果TMP目錄空間不夠安裝會出錯,這時你可以把TMPDIR設到要足夠空間的目錄下。
如果用普通用戶安裝出錯,可試著用ROOT用戶安裝.一般是環境變量及權限的問題。
安裝軟件可到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
對訪問權限的設置有兩種方式:
在WebLogic6.O的控制臺中設置,把結果保存到fileRealm.properties中,即采用WebLogic6.0的file realm.感覺對DATABASE POOL,EJB等比較好用,對JSP,SERVER及某個目錄設置訪問控制表比較難。我試了很多次都沒成功。它可對WEB用戶(通過瀏覽器訪問)和普通用戶(通過JAVA客戶端等訪問)起作用。
在WEB.XML,WebLogic.XML中設置,只能對WEB用戶起作用。下面舉個例子說明這種方式。
如:在一個名為OrderWebApp的WEB APPLICATION中,客戶的定單文件都放到/orders目錄下,只有manager能瀏覽該目錄下的文件。其WEB.XML及WebLogic.XML可設置如下:
*************************WEB.XML*************************
說明:
*************************WebLogic.XML*************************
說明:在
當在瀏覽器中輸入http://localhost:7001/OrderWebApp/orders/order100.html時,WebLogic6.0要求輸入用戶名及口令.只有peter,bill能夠訪問該文件. 我發現:如果沒有在WebLogic.XML中設置
四、JSP的設置及調試:
在WebLogic6.0中,JSP要放到一個WEB APPLICATION 中才能對它進行訪問,對JSP的配置在WebLogic.XML中,如下所示:
pageCheckSeconds
1
verbose
true
比較重要的有pageCheckSeconds,設置WebLogic6.0每隔多長時間檢測一次JSP文件的內容是否改變,并需要重新編譯,等于0,每次調用都重新編譯(一般用于調試環境中),等于-1從不重新編譯(一般用于運行環境中).當第一次訪問某個WEB APPLICATION下的一個JSP文件時,WebLogic6.0把它編譯成一個CLASS文件并放到相應的目錄下:
如果是以目錄結構形式發布的WEB APPLICATION,放到該WEB APPLICATION的 WEB-INF\_tmp_war_examplesServer_examplesServer_*目錄下。
如果該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.0的控制臺中的SECURITY中修改。
六、WebLogic 6.0控制臺的使用
WebLogic6.0的控制臺要在IE5.0以上的版本中才能啟動,如果IE設置了代理服務器,WebLogic6.0的控制臺有可能無法啟動,應把代理服務器的設置去掉在/工具/INTERNET選項/連接/局域網設置中。在WebLogic6.0的控制臺能完成幾乎所有的配置,不象WebLogic5.1有時候要直接修改配置文件。 <
原文轉自:http://www.anti-gravitydesign.com