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