JSP的環境引擎--websphere

superdont發表於2007-07-18


Websphere的特點

  WebSphere是IBM的一套軟體產品,包括WebSphere應用伺服器,WebSphere Studio和 WebSphere Performance Pack。後序還將有其他一些產品加入進來做為補充和擴充套件。他是IBM網路基礎架構軟體,是可發展與整合電子商務應用的中介軟體,從簡單的網頁、到複雜的 商業交易,它都可全面支援。

  WebSphere可在35種作業系統平臺上運作,除計算機外,還可用於PDA、資訊家電等產品,跨平臺能力較強。

WebSphere目前在全球已有超過35000家企業採用,而且連續9個季度的增長都超過兩位數。1999年,應用伺服器(Application Server)市場上IBM的佔有率為14%,而2000年時這一數字已上升到30%,在市場上已是坐二望一。近期,IBM力推的中介軟體 (middleware)平臺WebSphere將推出4.0版,預計將進一步提升IBM在應用伺服器市場上的份額,對市場龍頭BEA Systems構成威脅。目前WebSphere在全球應用伺服器產品中排名第二,僅次於BEA Systems的WebLogic,但在亞太區已排名第一。IBM與WebSphere搭配的資訊中介軟體MQSeries在全球則擁有高達75%的市場 佔有率。

WebSphere應用伺服器使您能夠為Servlet 的開發實現 “一次寫成,各處使用”的目的。該產品包括一個基於 Java 的 Servlet 引擎,獨立於 Web 伺服器和它所基於的作業系統。WebSphere應用伺服器提供了伺服器外掛的選項,與大多數流行的應用程式設計介面(API)相容。所支援的 Web 伺服器有:
l IBM HTTP 伺服器
l Apache Server
l Domino
l Lotus Domino Go Webserver
l Netscape Enterprise Server
l Netscape FastTrack Server
l 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 的組合:<SERVLET> 標記、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、WebTrafficeExpress代理伺服器和AFS分散式檔案系統,可以提供可伸縮的Web伺服器環境。
WebSphere Applecation Server的總體結構如下圖所示:




screen.width-333)this.width=screen.width-333;">

其基本工作過程:
客戶發出請求後,由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, 進入高階組安裝。




screen.width-333)this.width=screen.width-333;">

5. 進入高階組安裝畫面如圖所示。此次IBM我愛Linux Web應用大賽使用了眾多的IBM 應用軟體,為了減少大賽參與者眾多的產品安裝使用問題,本光碟針對TurboLinux DataServer 中文版6.1進行了大量的定製工作,使您能更簡便地安裝應用大賽軟體。為了您能成功地參加此次大獎賽,希望您採用我們捆綁的TurboLinux作為 Linux系統平臺。按照畫面提示敲入:Y, 進行下一步自動安裝。




screen.width-333)this.width=screen.width-333;">

6. 安裝程式自動安裝進行中的畫面,此畫面顯示自動安裝了IBM JDK, IBM HTTP Server, IBM SSL Modules …等等眾多的應用軟體,具體請參考您安裝的實際情況。




screen.width-333)this.width=screen.width-333;">

7. IBM HTTP Server 是以 Apache HTTP Server 為基礎進行開發的WWW伺服器,並在Apache原來的基礎上加入了SSL和線上網頁HTTP Server配置的功能。為了使您能安全地進行遠端WEB 方式的配置、管理HTTP Server,您必須為您的HTTP管理伺服器設定訪問使用者和訪問使用者密碼。安裝過程中程式會自動提示您輸入管理使用者名稱稱(預設使用者名稱為:admin, 直接按回車即為預設使用者),和管理使用者密碼(密碼需輸入兩次,且兩次密碼相同)。具體如畫面所示。




screen.width-333)this.width=screen.width-333;">

8. 接下來,安裝程式就會自動安裝IBM DB2 UDB 工作組版資料庫 V7.1,此過程無需任何人工干預,系統會自動完成。如圖所示。




screen.width-333)this.width=screen.width-333;">

9. 顯示IBM DB2 安裝成功的狀態。




screen.width-333)this.width=screen.width-333;">


10. 系統自動安裝完IBM DB2資料庫後,自動進入IBM WebSphere 應用伺服器和相關應用軟體的安裝階段,自動裝入Websphere Application Server、相關文件、IBM VisualAge for Java for Linux 3.0、WebSphere 應用開發例項模板EasyPortal … 其中有些軟體包比較大,如VisualAge for Java, 安裝時間可能比較長,請耐心等待系統自動安裝結束。如圖所示。




screen.width-333)this.width=screen.width-333;">

11. 顯示整個高階組應用軟體安裝成功,並可進入實用階段。




screen.width-333)this.width=screen.width-333;">


12. 安裝成功後,後臺IBM DB2 和 IBM HTTP 應該是已正常啟動,您應可以在瀏覽器中瀏覽到本機的主頁。在Xwindow 中啟動 Netscape,URL 欄中敲入:http://localhost or http://your_host_ip or http://your_host_name , 若後臺IBM HTTP Server正常啟動,應該看到畫面




screen.width-333)this.width=screen.width-333;">


!注意:如果您沒有看到首頁畫面,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開頭的這一行,在其後另加入一行:
ServerName yourhostname
F. 重新啟動IBM HTTP Server 伺服器,敲入命令:
/opt/IBMHTTPServer/bin/apachectl restart
即可正常啟動HTTP 伺服器。

Websphere在NT下的安裝

  WebSphere可以安裝在NT、95/98 、win2000等windows作業系統平臺上,下面主要介紹如何在Windows NT 上安裝與配置WebSphere應用伺服器。

  在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。使用Web 瀏覽器在位址列中輸入: 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 服務執行以上過程,從而允許服務與桌面互動。 

相關文章