【IT168 專稿】我們知道,JSP(JavaServer Pages)是一種動態(tài)網(wǎng)頁技術(shù)標(biāo)準(zhǔn)。Servlet是Java技術(shù)對CGI編程的回答。
支持JSP/Servlet的WEB服務(wù)器有很多,選擇合適的WEB服務(wù)器對于構(gòu)建JSP網(wǎng)站是非常重要的。比較有名氣的WEB服務(wù)器有:Allaire JRun、Apache Tomcat、BEA Weblogic Application Server、IBM WebSphere Application Server、iPlanet Web Server、JavaServer Web Development Kit(JSWDK)以及Java Web Server等。 構(gòu)建JSP網(wǎng)站時,JSWDK可作為學(xué)習(xí)和調(diào)試使用的WEB服務(wù)器,一般的小中型網(wǎng)站可采用Apache+Tomcat作為WEB服務(wù)器,大型的企業(yè)級網(wǎng)站可采用IBM WebSphere Application Server、BEA Weblogic Application Server和SUN iPlanet Enterise Web Server等作為WEB服務(wù)器。 1、直接使用JSP 對于最小型的WEB站點,可以直接使用JSP來構(gòu)建動態(tài)網(wǎng)頁,對于這種開發(fā)模式,一般可以將所有的動態(tài)處理部分都放置在JSP的Scriptlet中,就像一般使用PHP或ASP架構(gòu)動態(tài)網(wǎng)頁一樣。 2、JSP+JavaBeans 中型站點面對的是數(shù)據(jù)庫查詢、用戶管理和小量的商業(yè)業(yè)務(wù)邏輯。在JSP中加入JAVABEANS技術(shù)將有助于這種中型網(wǎng)站的開發(fā)。利用JAVABEANS,將很容易完成如數(shù)據(jù)庫連接、用戶登錄與注銷、商業(yè)業(yè)務(wù)邏輯封裝的任務(wù),如圖1所示。
采用ASP或PHP架構(gòu)動態(tài)網(wǎng)站,都存在網(wǎng)站的邏輯關(guān)系和網(wǎng)站的顯示頁面不容易分開。在邏輯關(guān)系異常復(fù)雜的網(wǎng)站中,借助于Servlet和JSP良好的交互關(guān)系和JavaBeans的協(xié)助,完全可以將網(wǎng)站的整個邏輯結(jié)構(gòu)放在Servlet中,而將動態(tài)頁面的輸出放在JSP頁面中來完成。在這種開發(fā)方式中,一個網(wǎng)站可以有一個或幾個核心的Servlet來處理網(wǎng)站的邏輯, 通過調(diào)用JSP頁面來完成客戶端 (通常是WEB瀏覽器)的請求。在J2EE模型中,Servlet的這項功能可以被EJB取代,如圖2所示。
在J2EE開發(fā)模型中,整個系統(tǒng)可以分為三個主要的部分(如圖3所示):
* 視圖。視圖就是用戶界面部分,在WEB應(yīng)用程序中也就是HTML、XML、JSP頁面。這個部分主要處理用戶看到的東西,動態(tài)的JSP部分處理了用戶可以看見的動態(tài)網(wǎng)頁,而靜態(tài)的網(wǎng)頁則由HTML、XML輸出。 * 控制器。控制器負(fù)責(zé)網(wǎng)站的整個邏輯。它用于管理用戶與視圖發(fā)生的交互。在J2EE中,控制器的功能一般是由Servlet、JavaBeans、Enterprise JavaBeans中的SessionBeans來擔(dān)當(dāng)?shù)摹?/P> * 模型。模型就是應(yīng)用業(yè)務(wù)邏輯部分,這一部分的主要角色是Enterprise JavaBeans,借助于EJB強(qiáng)大的組件技術(shù)和企業(yè)級的管理控制,開發(fā)人員可以輕松地創(chuàng)建出可重用的業(yè)務(wù)邏輯模塊。 JSP構(gòu)建的網(wǎng)站操作系統(tǒng)可以選用Unix、Linux或Windows平臺,Web服務(wù)器可以選擇商業(yè)的或者使用如Apache和Tomcat等免費的服務(wù)器軟件,后臺數(shù)據(jù)庫可根據(jù)實際情況選擇Oracle、Sybase、DB2或Informax、MySQL等。 Apache 和 Tomcat都可以做為獨立的WEB服務(wù)器來用,apache功能強(qiáng)大、高效,但并不能支持JSP及serlet。Tomcat是Sun和Apache合作做出來的JSP Server,Tomcat目前已經(jīng)成為Apache主要的Servlet和JSP的引擎。Tomcat在設(shè)計上是以獨立的Server執(zhí)行,而不像Jserv是附在Apache中,這樣就更可以發(fā)揮在servlet中,非HttpServlet的能力。Tomcat是Java程序,所以只要有JDK就可以使用,不需要考慮操作系統(tǒng)平臺。 作為WEB服務(wù)器擴(kuò)展的Tomcat服務(wù)器有一些問題需要說明: 當(dāng)處理靜態(tài)頁面時,Tomcat不如Apache迅速;Tomcat不象Apache一樣可配置; Tomcat不象Apache一樣強(qiáng)壯?;谝陨显?,一個現(xiàn)實的網(wǎng)站使用一個Apache作為Web服務(wù)器,為網(wǎng)站的靜態(tài)頁面請求提供服務(wù);并使用Tomcat服務(wù)器作為一個Servlet/JSP插件,顯示網(wǎng)站的動態(tài)頁面。 采用apache+tomcat這樣的結(jié)構(gòu)才具有更特出的優(yōu)點,主要體現(xiàn)在具有更好的可擴(kuò)展性和安全性。這種類型的站點的主要特點是每一個頁面都可能是動態(tài)生成的,但這些數(shù)據(jù)中主要部分還是靜態(tài)的(比如,各類圖像GIF、JPG、PNG,流式媒體等),這種結(jié)構(gòu)的優(yōu)點是兼有可擴(kuò)展性和安全性。 |
|