JSP和Java Servlet的技術(shù)概述以及比較_JSP教程
推薦:Windows下JSP開發(fā)環(huán)境的配置Sun推出的JSP(Java Server Pages)是一種執(zhí)行于服務(wù)器端的動(dòng)態(tài)網(wǎng)頁(yè)開發(fā)技術(shù),它基于Java技術(shù)。執(zhí)行JSP時(shí)需要在Web服務(wù)器上架設(shè)一個(gè)編譯JSP網(wǎng)頁(yè)的引擎。配置 JSP 環(huán)境可以有多種途徑,但主要工作就是安裝和配置Web服務(wù)器和JSP引擎。 下面就以Tomcat作為JSP引
Java Servlet及其特點(diǎn)
Servlet是Java技術(shù)對(duì)CGI編程的回答。Servlet程序在服務(wù)器端運(yùn)行,動(dòng)態(tài)地生成Web頁(yè)面。與傳統(tǒng)的CGI和許多其他類似CGI的技術(shù)相比,Java Servlet具有更高的效率,更容易使用,功能更強(qiáng)大,具有更好的可移植性,更節(jié)省投資(更重要的是, Servlet程序員收入要比Perl程序員高:-):
高效:
在傳統(tǒng)的CGI中,每個(gè)請(qǐng)求都要啟動(dòng)一個(gè)新的進(jìn)程,如果CGI程序本身的執(zhí)行時(shí)間較短,啟動(dòng)進(jìn)程所需要的開銷很可能反而超過(guò)實(shí)際執(zhí)行時(shí)間。而在Servlet中,每個(gè)請(qǐng)求由一個(gè)輕量級(jí)的Java線程處理(而不是重量級(jí)的操作系統(tǒng)進(jìn)程)。
在傳統(tǒng)CGI中,如果有N個(gè)并發(fā)的對(duì)同一CGI程序的請(qǐng)求,則該CGI程序的代碼在內(nèi)存中重復(fù)裝載了N次;而對(duì)于Servlet,處理請(qǐng)求的是N個(gè)線程,只需要一份Servlet類代碼。在性能優(yōu)化方面,Servlet也比CGI有著更多的選擇,比如緩沖以前的計(jì)算結(jié)果,保持?jǐn)?shù)據(jù)庫(kù)連接的活動(dòng),等等。
方便:
Servlet提供了大量的實(shí)用工具例程,例如自動(dòng)地解析和解碼HTML表單數(shù)據(jù)、讀取和設(shè)置HTTP頭、處理Cookie、跟蹤會(huì)話狀態(tài)等。
功能強(qiáng)大:
在Servlet中,許多使用傳統(tǒng)CGI程序很難完成的任務(wù)都可以輕松地完成。例如,Servlet能夠直接和Web服務(wù)器交互,而普通的CGI程序不能。Servlet還能夠在各個(gè)程序之間共享數(shù)據(jù),使得數(shù)據(jù)庫(kù)連接池之類的功能很容易實(shí)現(xiàn)。
可移植性好:
Servlet用Java編寫,Servlet API具有完善的標(biāo)準(zhǔn)。因此,為I-Planet Enterprise Server寫的Servlet無(wú)需任何實(shí)質(zhì)上的改動(dòng)即可移植到Apache、Microsoft IIS或者WebStar。幾乎所有的主流服務(wù)器都直接或通過(guò)插件支持Servlet。
節(jié)省投資:
不僅有許多廉價(jià)甚至免費(fèi)的Web服務(wù)器可供個(gè)人或小規(guī)模網(wǎng)站使用,而且對(duì)于現(xiàn)有的服務(wù)器,如果它不支持Servlet的話,要加上這部分功能也往往是免費(fèi)的(或只需要極少的投資)。
JSP及其特點(diǎn)
JavaServer Pages(JSP)是一種實(shí)現(xiàn)普通靜態(tài)HTML和動(dòng)態(tài)HTML混合編碼的技術(shù),有關(guān)JSP基礎(chǔ)概念的說(shuō)明請(qǐng)參見《JSP技術(shù)簡(jiǎn)介 》。
許多由CGI程序生成的頁(yè)面大部分仍舊是靜態(tài)HTML,動(dòng)態(tài)內(nèi)容只在頁(yè)面中有限的幾個(gè)部分出現(xiàn)。但是包括Servlet在內(nèi)的大多數(shù)CGI技術(shù)及其變種,總是通過(guò)程序生成整個(gè)頁(yè)面。JSP使得我們可以分別創(chuàng)建這兩個(gè)部分。例如,下面就是一個(gè)簡(jiǎn)單的JSP頁(yè)面:
|
下面是JSP和其他類似或相關(guān)技術(shù)的一個(gè)簡(jiǎn)單比較:
JSP和Active Server Pages(ASP)相比
Microsoft的ASP是一種和JSP類似的技術(shù)。JSP和ASP相比具有兩方面的優(yōu)點(diǎn)。首先,動(dòng)態(tài)部分用Java編寫,而不是VB Script或其他Microsoft語(yǔ)言,不僅功能更強(qiáng)大而且更易于使用。第二,JSP應(yīng)用可以移植到其他操作系統(tǒng)和非Microsoft的Web服務(wù)器上。
JSP和純Servlet相比
JSP并沒(méi)有增加任何本質(zhì)上不能用Servlet實(shí)現(xiàn)的功能。但是,在JSP中編寫靜態(tài)HTML更加方便,不必再用 println語(yǔ)句來(lái)輸出每一行HTML代碼。更重要的是,借助內(nèi)容和外觀的分離,頁(yè)面制作中不同性質(zhì)的任務(wù)可以方便地分開:比如,由頁(yè)面設(shè)計(jì)專家進(jìn)行HTML設(shè)計(jì),同時(shí)留出供Servlet程序員插入動(dòng)態(tài)內(nèi)容的空間。
JSP和服務(wù)器端包含(Server-Side Include,SSI)相比
SSI是一種受到廣泛支持的在靜態(tài)HTML中引入外部代碼的技術(shù)。JSP在這方面的支持更為完善,因?yàn)樗梢杂肧ervlet而不是獨(dú)立的程序來(lái)生成動(dòng)態(tài)內(nèi)容。另外,SSI實(shí)際上只用于簡(jiǎn)單的包含,而不是面向那些能夠處理表單數(shù)據(jù)、訪問(wèn)數(shù)據(jù)庫(kù)的“真正的”程序。
JSP和JavaScript相比
JavaScript能夠在客戶端動(dòng)態(tài)地生成HTML。雖然JavaScript很有用,但它只能處理以客戶端環(huán)境為基礎(chǔ)的動(dòng)態(tài)信息。除了Cookie之外,HTTP狀態(tài)和表單提交數(shù)據(jù)對(duì)JavaScript來(lái)說(shuō)都是不可用的。另外,由于是在客戶端運(yùn)行,JavaScript不能訪問(wèn)服務(wù)器端資源,比如數(shù)據(jù)庫(kù)、目錄信息等等。
分享:JSP中“預(yù)定義變量”的使用為了簡(jiǎn)化JSP表達(dá)式和scriptlets中的代碼,提供了8種自動(dòng)定義的變量,有時(shí)稱做implicit objects(固有對(duì)象)。它們是:request,response,out,session,application,config,pageContext,和 page。下面我們來(lái)詳細(xì)的了解它們。 request 與request相聯(lián)系的是HttpServ
- jsp response.sendRedirect不跳轉(zhuǎn)的原因分析及解決
- JSP指令元素(page指令/include指令/taglib指令)復(fù)習(xí)整理
- JSP腳本元素和注釋復(fù)習(xí)總結(jié)示例
- JSP FusionCharts Free顯示圖表 具體實(shí)現(xiàn)
- 網(wǎng)頁(yè)模板:關(guān)于jsp頁(yè)面使用jstl的異常分析
- JSP頁(yè)面中文傳遞參數(shù)使用escape編碼
- 基于jsp:included的使用與jsp:param亂碼的解決方法
- Java Web項(xiàng)目中連接Access數(shù)據(jù)庫(kù)的配置方法
- JDBC連接Access數(shù)據(jù)庫(kù)的幾種方式介紹
- 網(wǎng)站圖片路徑的問(wèn)題:絕對(duì)路徑/虛擬路徑
- (jsp/html)網(wǎng)頁(yè)上嵌入播放器(常用播放器代碼整理)
- jsp下顯示中文文件名及絕對(duì)路徑下的圖片解決方法
- 相關(guān)鏈接:
- 教程說(shuō)明:
JSP教程-JSP和Java Servlet的技術(shù)概述以及比較
。