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