JSP相對于PHP來說,可能運行得更快,消耗系統資源更少,功能更為強大——例如對分布式處理和組件支持等等。JSP技術在國外已經相當普及,而在國內,只不過還是剛熱起來而已……雖然現在ASP+在性能上給JSP帶來嚴峻的挑戰,但它作為微軟以外的一個選擇,又支持多平臺,所以還是很多網站所采用的首選。在這一部分里,我們將講解三種不同的JSP集成方案,代表著三種典型的應用范圍。
Linux+Apache+PHP+JSP的Resin解決方案
首先向大家推薦的是Resin。Resin是快速的、容易配置和實施的、使用簡單的JSP/Servlet引擎和Web服務器。這一點完全是無庸置疑的,無論是在windows平臺還是在UNIX/Linux平臺。然而目前的Resin1.3還不是一個應用服務器。不過Resin2.0版有望取得很大的突破。因為它將包含一些最新的J2EE特性。Resin在JSPtags、XML解析等方面投入都比較早,現在也是處于比較領先的地位。而apache.org的tomcat更象是一個開發研究的產品。如果讓我來做一個網站,RESIN肯定是我的首選——相信泛舟也是如此認為的。
我們將在Linux+Apache+PHP的WEB服務解決方案中加入JSP的支持,這也許是您升級網站的需要。就算你不需要PHP也沒有關系,下面我也會講解如何做到這一點。
1、軟件包的獲取
JDK是所有支持JSP環境所必須的,可以從http://java.sun.com獲得它forlinux的最新版本,現在好象是JSDKv1.3。
Resin可以從它的老家 現在你需要啟動servlet的引擎。和apache配合、resin單獨運行,resin的啟動方法都是一樣的。當然,對resin1.2/bin/httpd.sh這個腳本文件來說,你一樣可以使用start和stop參數。 linux>resin1.2/bin/httpd.shResin1.2.s010113--SatJan1311:17:18PST2001httplisteningto*:8080srunlisteningtolocalhost:6802 下面這個片段顯示了http和srun在上面這個例子中的配置。 呵呵,現在你可以使用一些簡單的腳本來測試你的jsp環境了。 附注:wrapper.pl Resin使用一個perl的腳本,resin1.2/bin/wrapper.pl,來控制Java進程。((bin/httpd.sh只是一個調用wrapper.pl的微型腳本而已)。你可以通過修改bin/httpd.sh或者bin/wrapper.pl來設定你的配置。 wrapper.pl在Resin結束的時候自動重起它。假如你需要使用kill命令停止Resin,你需要先用kill命令殺掉wrapper.pl進程("httpd.shstop"就是通過kill了wrapper.pl進程來實現的。 Tomcat是apache上實現jsp+javabean環境的接口程序,集成了jsp1.1和servlet2.2。他提供一個單獨的mod_jserv.so模塊,利用apache的DSO動態載入,與早先的Jserver不同,Tomcat必須作為一個單獨的程序運行,所有提交給apache的java請求將通過Tomcat自帶的jserv模塊提交給Tomcat進一步處理。就是說,必須先運行 Tomcat,再運行apache才能解釋jsp/servlet程序。 很多Tomcat的安裝指南都把Tomcat與Jserv一起安裝,我覺得沒有這個必要。Tomcat與Jserv有何區別?Tomcat是Jserv嗎?大家對它們之間的關系不是很清楚明白。Jserv是ServletAPI2.0兼容并與Apache一起使用的容器。Tomcat是一個完全重寫的并與ServletAPI2.2和JSP1.1兼容的容器。這通過前面的說明也可以看出來。Tomcat使用了一些為Jserv而寫的代碼,特別是Jserv的Apache接口,但這是唯一的相同之處. 和resin相比,Tomcat更象是一個正在研究的項目。resin早可以支持sun的j2ee,而在tomcatv3.x不能直接支持,而j2ee是基于java服務器端大系統的基礎。當然,在它的4.x版本中已經有了改觀。但tomcat結構非常合理,而且是apache組織和sun合作的產品,因此有著很好的遠景。 注意本小節和前兩小節沒有任何繼承關系,完成安裝的唯一前提是使用系統自帶的apache或者使用RPM包安裝的apache,并且apache已經可以正常運行了。 1、軟件包的下載 從http://jakarta.apache.org下載Tomcat3.1的二進制文件:jakarta -tomcat.tar.gz.和mod_jserv.so文件。當然JDK也是必不可少的。 2、安裝JDK和Tomcat 假設JDK和Tomcat軟件包都在/usr/local目錄下。 cd/usr/local cd/usr/local 注意修改軟件包的名稱。 3、設置環境變量,在/etc/profile或者登陸用戶目錄~/.bash_profile中設置環境變量如下: JAVA_HOME=/usr/local/jdk 4、可以啟動Tomcat自帶的調試環境,端口8080 啟動:/usr/local/tomcat/bin/tomcat.shstart(這是后臺啟動) 或者/usr/local/tomcat/bin/startup.sh 停止:/usr/local/tomcat/bin/tomcat.shstop(這是停止后臺服務) 或者/usr/local/tomcat/bin/shutdown.sh 訪問:http://localhost:8080/examples 5、建立Apache和Tomcat聯系: 1)cpmod_jserv.so/usr/lib/apache 2)在/etc/httpd/conf/httpd.conf文件的最后加入 Include/usr/local/tomcat/conf/tomcat-apache.conf LoadModulejserv_module/usr/lib/apache/mod_jserv.so 4)重新啟動WWW服務: /usr/local/tomcat/bin/tomcat.shstop 5)現在可以通過lynxhttp://localhost/examples訪問jsp/servlet 6、加入一個新的映射目錄(如:通過http://localhost/new_app訪問,/new_app映射到系統目錄/home/httpd/new_app) 1)stopTomcat和Apache 2)vi/usr/local/tomcat/conf/server.xml,加入: 4)cp/usr/local/tomcat/conf/tomcat-apache.conf/usr/local/tomcat/tomcat-apache-cig.conf 5)修改/usr/local/tomcat/tomcat-apache-cig.conf,將new_app定義部分的目錄映射改為/home/httpd/new_app 6)cp-R/usr/local/tomcat/webapps/examples/home/httpd/new_app/ 7)重啟Apache,即可通過http://localhost/new_app訪問jsp/servetl。 附注:使用說明 1)Jsp程序放在/home/httpd/new_app下,可以通過http://localhost/new_app/test.jsp訪問。 2)Servlet程序放在/home/httpd/new_app/WEB-INF/classes下,通過http://localhost/new_app/servlet/Test訪問。 3)Javabean放在/home/httpd/new_app/WEB-INF/classes下?;蛘呷我庖粋€CLASSPATH定義的目錄下。 4)為兼容原有系統,將servlet程序放在/usr/local/tomcat/webapps/ROOT/WEB-INF/classes下,即可用過http://localhost/servlet/com.Test形式訪問。 Linux+IBMWebshpere解決方案(JSP) 也許您長期以來使用微軟的產品,下意識的難以接受一切都免費的服務器系統,那么我們還有很多其它的選擇,例如鼎鼎有名的藍色巨人——也許它能夠使你更覺放心^_^。IBMWebSphereApplicationServer是一種功能完善、開放的Web應用程序服務器,是IBM電子商務計劃的核心部分,具有以下的特性: 1、基于Java和Servlets的Web應用程序運行環境,包含了為Web站點提供服務所需的一切,包括項目管理,連接數據庫,JavaServlet代碼生成器,beans和servlets開發工具,HTML編輯器,網站發布等,為開發Servlets和Javabeans提供了多種向導。WebSpherePerformancePack作為網絡優化管理工具,可以減少網絡服務器的擁擠現象,擴大容量,提高Web服務器性能。 2、運行時可以協同并擴展Apache、Netscape、IIS和IBM的HTTPWeb服務器,因此可以成為強大的Web應用服務器。 3、包含了eNetworkDispatcher、WebTrafficeExpress代理服務器和AFS分布式文件系統,可以提供可伸縮的Web服務器環境。 在本文的這一部分主要講解IBMWebSphere應用服務器。我們主要簡介兩種安裝,一個是從CD安裝的標準版本,一個是你可以從網上的下載的60天體驗版。 1、安裝pdksh 你可以從安裝光盤里找到適合您linux系統版本的pdksh(PublicDomainKornShell),或者從pdksh的Web站點:http://www.cs.mun.ca/~michael/pdksh/獲得您需要的版本。 2、運行安裝腳本 假如你想IBMWebSphere應用服務器和現有的Web服務器配合使用,請在安裝前先停止該web服務器的運行。例如httpdstop或者apachectlstop。你還需要在X環境下安裝。 安裝的過程很簡單: a、mount上光驅,例如:mount/dev/cdrom/mnt/cdrom; b、進入光驅所在路徑,例如:cd/mnt/cdrom; c、運行安裝腳本:./install.sh。 整個安裝過程幫助你做了如下的事: ·安裝IBMDeveloperKit ·安裝IBMHTTPServer作為Web服務器(可選擇) ·安裝WebSphereplug-infortheWebserver ·安裝一個新的IBMUDBDB2拷貝作為WebSphere管理數據庫(只有AdvancedEdition支持,標準版不支持) ·配置您所選擇的支持的數據庫,包括DB2的安裝版本(只有AdvancedEdition支持,標準版不支持) ·安裝IBMWebSphere應用服務器 ·安裝IBMDistributedDebugger和ObjectLevelTrace(OLT) 3、配置Web服務器 如果你使用的是IBMHTTPServer,基本不需要做什么改動。假如使用Apache服務器,你需要在運行前配置Web服務器: a、打開apache服務器的配置文件httpd.conf; b、添加如下幾行 IBMWebAS//opt/IBMWebAS/webNcfAppServerConfigBootFile/opt/IBMWebAS/properties/bootstrap.properties cp-r/opt/IBMWebAS/WSsamplesdocument_root 注意:opt是指你的WebSphere服務器安裝的目錄,document_root是指你web服務器的文檔發布目錄。 4、啟動Web服務器 無論你使用的是IBMHTTPServer還是Apache服務器,假如Web服務器正在運行,你需要停止它。使用restart命令重啟這個服務。 啟動IBMHTTPServer1.3.12,使用如下命令: /opt/IBMHTTPServer/bin/apachectlrestart 5、測試安裝的結果 a、用root身份在一個單獨的虛擬終端啟動WebSphereadministrativeserver,使用如下命令: ./startupServer.sh b、等待,一般需要5分鐘,直到/opt/IBMWebAS/logs/tracefile文件中出現如下信息:“WebSphereAdministrationServerisopenfore-business”。 c、用root身份在一個單獨的虛擬終端啟動Javaadministrativeconsole,使用如下命令: ./adminclient.sh d、當終端屏幕下面出現了控制臺已經準備就緒的提示后,你可以開始準備運行了。 安裝下載的60天體驗版 請查閱 http://www-4.ibm.com/software/webservers/appserv/download_linux.html 以了解這個體驗版的有關信息。 缺省的,這個體驗版的安裝是一個快速安裝(QuickInstall)的過程,意味著自動安裝IBMDeveloperKit,IBMHTTPServer,和一個InstantDBdatabase產品。在http://www.ibm.com/linux可以下載到這個體驗版本。 1、解開下載回來的壓縮包: tar-xvfedn_trial_was3_5.tar 2、運行快速安裝腳本,改變當前路徑: cdedntrial 然后運行安裝腳本: ./quickinstall.sh 3、你會看見JDK、IBMHTTPServer和WebSphere應用服務器的RPM包顯示一串數字信息提示安裝的完成度。 完成安裝以后,重新啟動Webserver,然后啟動WebSphere應用服務器。這部分可以參考前面CD安裝的有關內容。 有關WebSphere的安裝更詳細的內容請查看下面這個web頁面 http://www-4.ibm.com/software/webservers/appserv/doc/v35/ae/infocenter/was/inst_wasv35_linux.html 在這個部分,我們提供了三個WWW服務器的解決方案,而且都支持JSP,各有不同之處。第一個速度快、性能高、配置要求低;第二個是apache和sun合作的項目,有著可以看好的前景;第三個是IBM步入linux世界的成熟產品,功能全面,配置要求高。各有所長,可以按照你的需要來自己選擇。
7、啟動Servlet引擎
Resin將顯示它監聽的每一個端口。在上面這個例子中,Resin的http服務使用了8080,servlet支持協議使用了6802端口。也就是說mod_caucho只可以在本地的6802端口和Resin連接通信,但你可以通過8080端口在任何主機上瀏覽Resin服務器的內容。
...
Linux+Apache+Tomcat(JSP)解決方案
tarzxvfjdk1_3_0-linux-i386.tar.gz
ln-sjdk1.3.0jdk
tarzxvfjakarta-tomcat.tar.gz
ln-sjakarta-tomcattomcat
TOMCAT_HOME=/usr/local/tomcat
CLASSPATH=$JAVA_HOME/lib/tools.jar
exportJAVA_HOMETOMCAT_HOMECLASSPATH
3)更改/usr/local/tomcat/conf/tomcat-apache.conf第一行為:
/usr/local/tomcat/bin/tomcat.shstart
/etc/rc.d/init.d/httpdrestart
debug="0"reloadable="true">
3)/usr/local/tomcat/bin/tomcat.shstart
LoadModuleapp_server_module/opt/IBMWebAS/bin/mod_app_server.soAddModulemod_app_server.cAlias/
c、拷貝WebSphere的Samples目錄到Web服務器的document_root,如下所示:
cp-r/opt/IBMWebAS/WSsamplesIDBdocument_root
cd/opt/IBMWebAS/bin
cd/opt/IBMWebAS/bin
在edn的位置如果是“adv”表明是AdvancedEdition如果是“std”表明是標準版。
新聞熱點
疑難解答