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