js|web WebSphere應用伺服器使您能夠為Servlet的開發實現“一次寫成,各處使用”的目的。該產品包括一個基於Java的Servlet引擎,獨立於Web伺服器和它所基於的作業系統。WebSphere應用伺服器提供了伺服器外掛程式的選項,與大多數流行的應用程式設計介面(API)相容。所支援的 Web 服務器有:
IBM HTTP 伺服器
Apache Server
Domino
Lotus Domino Go Webserver
Netscape Enterprise Server
Netscape FastTrack Server
Microsoft Internet Information Server
除了 Servlet 引擎及外掛程式外,WebSphere應用伺服器還提供:
1. JavaSoft Java Servlet API 實現,以及這些 API 的擴充和附加。
2. 樣本和文檔,樣本 Servlet 和 Web 網站應用程式示範了簡單和進階技術。聯機和可列印文檔供您快速入門,並協助掌握伺服器進階功能的使用示範基本類及其擴充的應用程式範例。
3. WebSphere應用伺服器的管理器,使用圖形介面,易於:
(1) 為裝入本地和遠端 Servlet 設定選項
(2) 設定初始化參數
(3) 管理 Servlet
(4) 指定 Servlet 別名
(5) 建立 Servlet 鏈和過濾
(6) 啟用輕量級目錄訪問協議(LDAP)目錄支援
(7) 記錄 Servlet 訊息
(8) 啟用 JVM 調試
(9) 監控 WebSphere應用伺服器 使用的資源
(10) 監控已裝入 Servlet、活動 Servlet 會話和 JDBC 串連
(11) 控錯誤、事件、異常情況和日誌輸出
(12) 建立轉儲和資料快照
(13) 動態地啟用和禁用跟蹤
4. 緩衝和再使用與 JDBC-從屬資料庫連接的串連管理功能。當一個 Servlet 需要資料庫連接時,它可從可用串連的緩衝池獲得,從而消除了為每個請求開啟一個新串連的所需花費的系統開銷。
5. 附加的 Java 類,遵循 JavaBeans 規範,允許程式員訪問 JDBC-從屬資料庫。當隱藏使用關聯式資料庫的複雜度時,這些資料訪問 Bean 可提供增強功能。它們可用於可視整合式開發環境中。
6. JSP的動態網頁面內容支援。JSP 技術使您能夠通過伺服器端指令碼產生動態 Web 頁面。其結果是將呈示邏輯(例如,定義 Web 網站結構和外觀的 HTML 程式碼)從商務邏輯(例如,訪問資料庫以獲得要顯示在 Web 網站上的資訊的 Java 編碼資訊)中分隔出來。靈活性方面,JSP 檔案可包括任何直接插入的 Java 的組合: 標記、NCSA 標記和 JavaBean。
7. 啟用 LDAP(輕量級目錄訪問協議)支援的目錄服務。
8. 用於整合WebSphere應用伺服器和Web伺服器(如Apache Server) 到Tivoli 管理環境(Tivoli Management Environment)以獲得分布式監控和操作的模組和命令列介面。Tivoli 模組並不與WebSphere應用伺服器一起發行,請訪問Web 網站(http://www.software.ibm.com/webservers/appserv/)以獲得更多資訊。
9. 包含了eNetworkDispatcher、WebTrafficeExpressProxy 伺服器和AFSDistributed File System,可以提供可伸縮的Web伺服器環境。 WebSphere Applecation Server的總體結構如下圖所示:
其基本工作過程:
客戶發出請求後,由HttpServer將Servlet調用請求交給Application Server,由Application Server 和Java Servlet Engine 執 行 用 戶 調 用 的Servlet 進 行資料庫連接,將Sql請求發送給資料庫進行處理。
資料庫將結果返回Appliction Server。Servlet產生動態網頁面後,將處理結果交給HttpServer。HttpServer將頁面返回給使用者。
WebSphere應用伺服器對JSP的支援是通過JSP處理器來實現的。在 Web 服務器上安裝 WebSphere應用伺服器時,Web 服務器的配置被設定成將對 JSP 檔案(即副檔名為 .jsp)的 HTTP 要求傳遞至 WebSphere應用伺服器。
WebSphere應用伺服器配置則被設定成將 JSP 檔案傳遞至其 JSP 處理器(pageCompile)。JSP 處理器對每一個 JSP 檔案建立並編譯 Servlet。該處理器還為每個 JSP 檔案產生兩個檔案:
(1) java 檔案:包含可用於 Servlet 的 Java 語言代碼;
(2) class 檔案:編譯過的 Servlet。
JSP 處理器把 .java 和 .class 檔案放在目錄 servletspagecompileJSP_file_path 下,其中 JSP_file_path 是 JSP 源檔案所在的目錄路徑。例如,若JSP 檔案在WebSphereAppServersamplesWebBank 目錄下,則.java 和.class 檔案就在WebSphereAppServerservletspagecompileWebSphereApp ServersamplesWebBank 目錄下。
.java 和 .class 檔案的檔案名稱相同。處理器使用了命名規範,該命名規範包括將底線和尾碼添加到 JSP 檔案名稱中。例如,如果 JSP 檔案名稱是 login.jsp,則產生的檔案為 _login_xjsp.java 和 _login_xjsp.class。
如同所有的 Servlet,由 JSP 檔案產生的 Servlet 是 javax.servlet.http.HttpServlet的子類或子孫類。如果 Servlet 類是軟體包的一部分,則 Servlet Java 程式碼封裝含了用於一些必需類和軟體包語句的匯入語句。
如果 JSP 檔案包含 JSP 文法(例如指令和 scriptlets),則 JSP 處理器會將 JSP 文法轉換成等價的 Java 代碼。如果 JSP 檔案包含 HTML 標籤,則處理器添加 Java 代碼,以使 Servlet 能一個接一個字元地輸出 HTML。
Websphere由於面向專業人員,要完全掌握有一定的難度。另外,Websphere本身有2G多的容量,需要256M以上記憶體支援,系統要求很高。
Websphere的安裝
Websphere在Linux下的安裝
1.以超級使用者root 登入Linux系統,在控制台(Console)或 圖形Xwindow X終端進行以下所有步驟的操作,推薦使用X終端。
2.裝載本次大賽IBM我愛Linux Web應用開發盤,在命令列敲入:mount /mnt/cdrom
3.進入光碟片根目錄,在命令列敲入:cd /mnt/cdrom
4.運行光碟片安裝程式,在命令列敲入:./install.sh.安裝畫面自動進入如圖所示,因為您要進入進階組進行應用程式開發大賽,所以按照安裝畫面提示,我們選擇敲入:A, 進入進階組安裝。
5.進入進階組安裝畫面如圖所示。此次IBM我愛Linux Web應用大賽使用了眾多的IBM 應用軟體,為了減少大賽參與者眾多的產品安裝使用問題,本光碟片針對TurboLinux DataServer 中文版6.1進行了大量的定製工作,使您能更簡便地安裝應用大賽軟體。
為了您能成功地參加此次大獎賽,希望您採用我們捆綁的TurboLinux作為Linux系統平台。按照畫面提示敲入:Y, 進行下一步自動安裝。
6.安裝程式自動安裝進行中的畫面,此畫面顯示自動安裝了IBM JDK, IBM HTTP Server, IBM SSL Modules …等等眾多的應用軟體,具體請參考您安裝的實際情況。
7.IBM HTTP Server 是以 Apache HTTP Server 為基礎進行開發的WWW伺服器,並在Apache原來的基礎上加入了SSL和線上網頁HTTP Server配置的功能。
為了使您能安全地進行遠程WEB 方式的配置、管理HTTP Server,您必須為您的HTTP管理伺服器設定訪問使用者和訪問使用者密碼。安裝過程中程式會自動提示您輸入系統管理使用者名稱(預設使用者名稱為:admin, 直接按斷行符號即為預設使用者),和系統管理使用者密碼(密碼需輸入兩次,且兩次密碼相同)。具體如畫面所示。
8.接下來,安裝程式就會自動安裝IBM DB2 UDB 工作群組版資料庫 V7.1,此過程無需任何人工幹預,系統會自動完成。如圖所示。
9.顯示IBM DB2 安裝成功的狀態。
10.系統自動安裝完IBM DB2資料庫後,自動進入IBM WebSphere 應用伺服器和相關應用軟體的安裝階段,自動裝入Websphere Application Server、相關文檔、IBM VisualAge for Java for Linux 3.0、WebSphere 應用開發執行個體模板EasyPortal … 其中有些軟體包比較大,如VisualAge for Java, 安裝時間可能比較長,請耐心等待系統自動安裝結束。如圖所示。
11.顯示整個進階組應用軟體安裝成功,並可進入實用階段。
12.安裝成功後,後台IBM DB2 和 IBM HTTP 應該是已正常啟動,您應可以在瀏覽器中瀏覽到原生首頁。在Xwindow 中啟動 Netscape,URL 欄中敲入:http://localhost or http://your_host_ip or http://your_host_name , 若後台IBM HTTP Server正常啟動,應該看到畫面
注意:如果您沒有看到首頁畫面,IBM HTTP Server 可能沒有正常啟動,主要原因是由於您在安裝Linux系統過程中‘主機名稱’命名的問題。您可以使用以下方法解決問題:
A. 查詢您當前Linux系統的主機名稱,敲入命令:hostname
B. 假設系統返回應答為:linux.cn.ibm.com
C. 緊接著,敲入命令:ping linux.cn.ibm.com,察看是否能通過此主機名稱連通主機,若能連通,請跳過D. 進入 E. 。
D. 如果不能正常ping 通 linux.cn.ibm.com,敲入命令:vi /etc/hosts 編輯檔案.
在檔案最後加入此行:
xxx.xxx.xxx.xxx yourhostname.com yourhost |
此處 xxx.xxx.xxx.xxx 是您安裝Linux系統實際使用的數字IP地址,譬如:192.168.1.100, 此IP地址必須能直接ping 通 (ping 192.168.1.100)
E. 編輯IBM HTTP 設定檔,敲入命令: vi /opt/IBMHTTPServer/conf/httpd.conf
尋找到以 #ServerName your.machine.com開頭的這一行,在其後另加入一行:
F. 重新啟動IBM HTTP Server 伺服器,敲入命令:
/opt/IBMHTTPServer/bin/apachectl restart |
即可正常啟動HTTP 伺服器。
Websphere在NT下的安裝
在Windows下安裝WebSphere必須要求有128兆記憶體以上,要是256兆就更好了。作業系統要求Windows NT(Pack 3)。安裝之前,必須要有Web伺服器,可以是如下之一:
IBM HTTP 伺服器版本 Windows NT 版(WebSphere應用伺服器安裝光碟片包括IBM HTTP 伺服器)
Apache Server 版本 Windows NT 版
Domino 版本 5.0 Windows NT 版
Lotus Domino Go Webserver 版本 4 Windows NT 版
Microsoft Internet Information Server 版本 3.x以上 Windows NT 版
Netscape Enterprise Server 版本 3.01 和 版本 3.51 Windows NT 版(建議使用版本 3.5.1)
Netscape FastTrack Server 版本 3.01 Windows NT 版
還需要Java 開發組件(JDK),這裡,我們建議使用與 WebSphere應用伺服器一起提供的 JDK。還需要Java servlet API,WebSphere應用伺服器包括 JSDK 版本 2.0 或更高版本。
當然,還需要Web瀏覽器和appletviewer或者支援JDK1.1 的瀏覽器。例如: Netscape Navigator 4.06 或 4.0.7、或者帶有修正包的 Microsoft Internet Explorer 4.01 或更高版本、或者Sun HotJava 1.1 或更高版本。
有一些舊的瀏覽器不能夠正確地處理啟用母語支援的文本。如果在使用者介面上看到外來字元,例如“sEnable”,而不是“Enable”,可以通過升級瀏覽器校正。
第一步:安裝Web伺服器:
如果打算安裝 IBM HTTP 伺服器,就必須在安裝 WebSphere應用伺服器之前安裝它。WebSphere應用伺服器安裝光碟片有IBM HTTP Server。安裝WebSphere應用伺服器會更改 Web 服務器 httpd.conf 檔案。
但是,如果Web 服務器是在安裝 WebSphere應用伺服器之後安裝的,就不會變更,並且 WebSphere應用伺服器也不能夠正確運行。安裝 IBM HTTP 伺服器之後,需要一些配置以啟用 SSL 支援。具體如何配置,參閱 IBM HTTP 伺服器文檔以獲得指示資訊。
對於計劃安裝其它的Web 服務器(如Apache Server),也請在安裝 WebSphere應用伺服器之前安裝它。
第二步:安裝之前:
在安裝之前,如果系統中有舊版本的WebSphere,要先把舊的版本卸載了。然後再安裝新的版本。卸裝之前,最好先備份 WebSphere應用伺服器版本 1.x 檔案。
(1) 檔案備份
從Windows NT 卸裝以前版本的 WebSphere應用伺服器之前,確保要移植的檔案已經或者將要儲存。安裝 WebSphere應用伺服器版本 2.0 時顯示出的圖形化使用者介面備份 WebSphere應用伺服器目錄中的檔案,包括類、領域、Servlet、屬性檔案,其中,屬性檔案包括servlet.properties、admin_port.properties、rules.properties、jvm.properties、aliases.properties、connmgr.properties、userprofile.properties。如果有檔案駐留在這四個目錄之外(例如,如果在 WebSphere應用伺服器 安裝中建立自己的目錄),在安裝 WebSphere應用伺服器 版本 2.0. 之前,在 WebSphere應用伺服器 安裝之外的位置備份檔案。
(2) 卸載前一版本
對於 Windows NT,使用開始 --> 控制台中的添加/刪除選項,或從開始 --> 程式 --> IBM WebSphere --> WebSphere應用伺服器版本1.x 卸裝。
注意:當已安裝了某版本的 WebSphere應用伺服器,它將複製Web 網站設定檔作為備份檔案,然後修改原始設定檔。當使用 Web 服務器時這個已被修改過的檔案就成為活動的設定檔。當卸裝 WebSphere應用伺服器時,不會恢複以前的設定檔,它仍然是備份檔案。為了使這些設定再次活動,必須將它們從備份檔案轉換為活動的 Web 服務器設定檔。
另外,需要清除 CLASSPATH。安裝版本2.0之前要刪除這些資訊。對於在 Windows NT 上使用Go Webserver 的Web伺服器來說,當安裝 WebSphere應用伺服器時能自動卸裝Go Webserver 上的 Java 支援。其它的請查閱有關文檔。
第三步:安裝WebSphere伺服器:
在即將安裝 WebSphere應用伺服器之前,請確保已經:
(1)備份所有未通過安裝程式自動備份的檔案
(2) 安裝您計劃使用的 Web 服務器。Web 服務器必須在安裝 WebSphere應用伺服器之前安裝。
(3) 安裝之前要確保Web 服務器已經停止運行。
注意:在WebSphere應用伺服器的安裝期間,如果指定使用 IBM HTTP 伺服器或 Apache Server,將提示您確認 Web 服務器 httpd.conf 檔案的位置。
在 Windows NT 上,插入 WebSphere應用伺服器安裝光碟片,轉至以 Windows NT 作業系統命名的子目錄,運行可執行安裝程式(setup.exe)。一系列面板將指導您完成安裝。
配置 WebSphere應用伺服器
下面介紹如何配置WebSphere應用伺服器,以使它和它的組件以能夠協同工作。完成這些任務之後,WebSphere應用伺服器通過預設的配置就能夠運行幾乎所有的功能。
(1) 配置 Apache Server
如果使用Apache Server作為Web伺服器,在httpd.conf檔案中加入此行:
AddModule mod_app_server.c。
(2) 使用資料庫。
要保證WebSphere應用伺服器與關聯式資料庫(如 Oracle 或 DB2)的串連:將.zip 檔案加到檔案 /properties/bootstrap.properties 中的 java.classpath 屬性。也可以使用 WebSphere應用伺服器的管理器介面的 Java 引擎頁面來指定檔案。同樣,確保 java.classpath 包含用於資料庫連接的有效驅動程式。
(3) 運行模式
ose.mode 屬性是用來控制WebSphere應用伺服器是作為Web 服務器的一部分(進程內),還是在獨立模式下運行(進程外)。該屬性在 /properties/bootstrap.properties 檔案中。ose.mode 預設值是 out。Apache Server 或 IBM HTTP 伺服器要求設定 ose.mode 屬性必須為 out,就是說WebSphere應用伺服器必須運行在獨立模式下。
對於其它 Web 服務器,可以將ose.mode 為 in 並且作為 Web 服務器的一部分運行 WebSphere應用伺服器。 但是通常都不這麼做。如有必要需要複位 ose.mode就是說將ose.mode的值設為out。
例如,如果從作為 Webserver 一部分啟動並執行 Netscape Enterprise Server (ose.mode=in)轉換為 IBM HTTP 伺服器(要求 ose.mode=out),就別忘了在運行 IBM HTTP 伺服器之前,要將ose.mode 屬性更改為 out。
除了可以手工編輯 bootstrap.properties 檔案之外,管理器介面的 Java 引擎頁面提供了一個簡單的方法來鎖住該ose.mode屬性值。
Java 引擎頁面提供了一個可用來指示是以 Web 服務器的一部分(ose.mode=in)或以獨立模式(ose.mode=out)運行 WebSphere應用伺服器的選項按鈕。
作為 Web 服務器一部分運行 WebSphere應用伺服器為Servlet 和其它應用程式提供較高的效能,但安全性較差。作為 Web 服務器的一部分運行 WebSphere應用伺服器,允許當關閉 Web 服務器時 WebSphere應用伺服器自動停止。在獨立模式下運行 WebSphere應用伺服器需要其它步驟。
啟動和停止 WebSphere應用伺服器
在啟動 Web 服務器的時候,WebSphere應用伺服器會自動啟動。
如果將 WebSphere應用伺服器作為Web 服務器的一部分運行,當關閉 Web 服務器時 WebSphere應用伺服器 將自動停止。如果以獨立模式運行,WebSphere應用伺服器不會自動停止。
當在Windows NT 上進程外運行 WebSphere應用伺服器 時,停止 Web 服務器之後,需要手動停止 WebSphere Servlet 服務以停止 WebSphere應用伺服器。方法是:從開始 --> 設定 --> 控制台 --> 中選擇 WebSphere Servlet 服務,並按“停止”按鈕。
安裝的檢查和故障尋找
要驗證 WebSphere應用伺服器是否已安裝好並正確配置,可調用 WebSphere應用伺服器提供的 snoop servlet。使用網頁瀏覽器在地址欄中輸入: http://your.server.name/servlet/snoop。Snoop Servlet 應該回送客戶機發送的 HTTP 要求及 servlet 的初始化參數。SnoopServlet 和其它 servlet 的代碼位於/servlets 目錄。如果Servlet失敗:
(1) 如果你原來通過手工編輯更改過 .properties 檔案或更改了WebSphere應用伺服器的配置,先看看這些檔案以是否引入非法的或不正確的值。特別要檢查 /properties/bootstrap.properties 檔案。
(2) 為Web 服務器開啟本地日誌和跟蹤。先找到 WebSphere應用伺服器 bootstrap.properties 檔案。然後把ose.trace.enabled 和ose.trace.to.webserver 屬性都設為true。停止 Web 服務器並重啟動。如果 WebSphere應用伺服器運行在獨立模式,當停止 Web 服務器時它不會相應停止。檢查 Web 服務器出錯日誌及 WebSphere應用伺服器 /logs 目錄下的日誌。看看錯誤原因。
(3) 啟用偵錯主控台並重新啟動 Web 服務器。WebSphere應用伺服器的偵錯主控台是用來收集和查看跟蹤及監控資料的。例如,從偵錯主控台,可以作為一組啟動和停止列在收集和監控伺服器資料中的監控程式。
在偵錯主控台的伺服器控制台中,允許查看 servlet 的 stdout 和 stderr 流。預設情況下,並沒有啟動控制台。在WebSphere應用伺服器 debug.properties 檔案中設定將debug.server.console.enabled 屬性設定為為true,然後重新啟動Web 服務器使得改動生效。
或者,也可以在Web中運行 http://your.server.name/servlet/DebugConsoleServlet來啟用偵錯主控台。在 Windows NT 上,要成功地查看偵錯主控台,必須配置 Windows NT 以允許一個或多個服務與 Windows 案頭互動。
如果使用作為 Windows NT 服務啟動並執行 Web 服務器:
選擇開始 --> 設定 --> 控制台 --> 服務。
選擇 Web 服務器相應的服務。
單擊啟動按鈕。
在結果對話方塊中,選擇允許服務與案頭互動的複選框。
重新啟動 Web 服務器以使更改生效。
對於微軟的IIS伺服器,對與 Web 服務器相關的每個服務(如 Web 發佈和 FTP服務),執行以上過程。這些服務必須允許與 Windows NT 案頭互動。
如果 WebSphere應用伺服器運行時未啟動任何 Web 服務器相關的進程,則需要為WebSphere Servlet 服務執行以上過程,從而允許服務與案頭互動。