JSP第1講-JSP相關(guān)知識_第1頁
JSP第1講-JSP相關(guān)知識_第2頁
JSP第1講-JSP相關(guān)知識_第3頁
JSP第1講-JSP相關(guān)知識_第4頁
JSP第1講-JSP相關(guān)知識_第5頁
已閱讀5頁,還剩8頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

1、JSP開發(fā)概述(2學(xué)時)Starlee2008 1HTTP(Hyper Text Transfer Protocol)是基于請求/響應(yīng)模式的應(yīng)用層協(xié)議,即客戶端和服務(wù)器端不需要建立持久的連接,客戶端提交請求,服務(wù)器端接收請求后返回響應(yīng),之后二者就斷開連接。HTTP相關(guān)概念2基于HTTP協(xié)議的客戶端服務(wù)器請求響應(yīng)機制的信息交換過程主要包括四個步驟:圖建立連接:客戶端與服務(wù)器建立TCP連接;發(fā)送請求:打開一個連接后,客戶端把請求消息送到服務(wù)器的相應(yīng)端口上,完成請求動作提交;發(fā)送響應(yīng):服務(wù)器在處理完客戶端請求之后,要向客戶端發(fā)送響應(yīng)消息;關(guān)閉連接:客戶端和服務(wù)器雙方都可以通過關(guān)閉套接字來結(jié)束TCP/

2、IP對話。HTTP相關(guān)概念3Servlet是用Java編寫的在服務(wù)器上運行的一個應(yīng)用程序,處理客戶端請求的信息并發(fā)送回去。延續(xù)Java在跨平臺上的表現(xiàn), Servlet完全可以在Apache,IIS等不同Web服務(wù)器上執(zhí)行,無論底層的操作系統(tǒng)是Windows,Solaris,Mac,Linux還是其他的能支持Java的操作系統(tǒng)。Servlet相關(guān)概念4package action;import java.io.IOException;import java.io.PrintWriter;import javax.servlet.ServletException;import javax.ser

3、vlet.http.HttpServlet;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;public class FirstServlet extends HttpServlet private static final long serialVersionUID = 1L; public FirstServlet() protected void doGet(HttpServletRequest request, HttpServletResponse r

4、esponse) throws ServletException, IOException this.doPost(request, response);protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException PrintWriter out = response.getWriter();out.println();out.println(First Servlet );out.println();out.println

5、(hello servlet);out.println();out.close();一個典型的Servlet類5盡管Servlet的功能非常強大,但它通常屬于程序員專有的領(lǐng)域。實際運用中,實現(xiàn)Servlet方案需注意以下問題:開發(fā)和維護(hù)應(yīng)用程序的所有部分都要求程序員有深厚的Java編程知識,因為處理代碼和html元素是交織在一起的。改變應(yīng)用程序的外觀和風(fēng)格,或者加入對某種新類型客戶機(如WML客戶機)的支持時,都需要更新并重新編譯Servlet代碼。很難利用網(wǎng)頁開發(fā)工具的優(yōu)勢來設(shè)計應(yīng)用程序界面。如果使用這些工具來開發(fā)網(wǎng)頁布局的話,生成的HTML代碼必須被手工嵌入到Servlet代碼中,這個過程

6、既耗時又容易出錯,而且極度枯燥乏味。將Servlet和JSP頁面組合起來使用,可以實現(xiàn)應(yīng)用程序的業(yè)務(wù)邏輯處理和界面顯示相對獨立。Servlet的優(yōu)、劣勢6JSP(Java Server Pages)是由Sun Microsystems(已被Oracle收購)公司倡導(dǎo)、許多公司參與共同建立的一種動態(tài)頁面技術(shù)標(biāo)準(zhǔn)。JSP頁面由模板文本和嵌入其中的Java代碼以及JSP元素所組成。JSP相關(guān)概念7Web服務(wù)器中JSP的訪問過程是:客戶端發(fā)出JSP頁面訪問請求,服務(wù)器首先執(zhí)行其中的程序段,然后將執(zhí)行結(jié)果連同JSP文件中的模板文本動態(tài)合成后的頁面返回給客戶端。所有程序操作都在服務(wù)器端執(zhí)行,網(wǎng)絡(luò)上傳送給客

7、戶端的僅是得到的結(jié)果,而結(jié)果通常就是HTML頁面,因此客戶端只要有瀏覽器即使不支持Java也能瀏覽。JSP頁面一般很少進(jìn)行數(shù)據(jù)處理,只是用來實現(xiàn)網(wǎng)頁的靜態(tài)化頁面和提取數(shù)據(jù),不會進(jìn)行業(yè)務(wù)處理。JSP相關(guān)概念8Java Servlet是JSP的技術(shù)基礎(chǔ),它和JSP配合才能完成一些大型的Web應(yīng)用程序開發(fā)。JSP本身也繼承了Java技術(shù)的簡單易用、完全面向?qū)ο?、跨平臺且安全可靠、主要面向Internet的所有特點。JSP技術(shù)將網(wǎng)頁邏輯與網(wǎng)頁設(shè)計的顯示分離,支持可重用的基于組件的設(shè)計,使基于Web的應(yīng)用程序的開發(fā)變得迅速和容易。JSP相關(guān)概念9Hello Servlet一個典型的JSP頁面10在處理一

8、個jsp頁面請求時,模板文件將與由JSP元素產(chǎn)生的動態(tài)內(nèi)容組合起來,組合的結(jié)果將作為應(yīng)答發(fā)回給瀏覽器。整個處理過程通??煞譃閮蓚€時期:翻譯時期(Translation Time)和請求時期(Request Time)。用戶發(fā)出JSP頁面請求。如果此頁面是第一次被請求,JSP引擎會通過預(yù)處理把JSP源文件中的靜態(tài)數(shù)據(jù)(HTML文本)和動態(tài)數(shù)據(jù)(Java腳本)全部處理成Servlet代碼(相應(yīng)的.Java代碼),并將生成的Servlet代碼編譯成Servlet類文件(.class)。對于Tomcat服務(wù)器而言,生成的類文件默認(rèn)的情況下是存放在work目錄中。在不修改JSP頁面前提下,如果此頁面不是

9、第一次被請求,任何后續(xù)的請求都會直接進(jìn)入請求處理階段,即JSP引擎會直接運行Servlet類文件,并將處理結(jié)果返回給用戶。而當(dāng)JSP頁面被修改后,后續(xù)請求將需再次通過翻譯階段,才能進(jìn)入請求處理階段。如上所述,執(zhí)行JSP網(wǎng)頁的過程通??煞譃閮蓚€時期:請求時期(Request Time)和翻譯時期(Translation Time)。在翻譯時期,JSP網(wǎng)頁被翻譯成Servlet代碼,然后被編譯成類文件。當(dāng)?shù)谝淮问盏巾撁嬲埱?,JSP容器會自動翻譯這個頁面,這需要一些時間完成,所以用戶第一次發(fā)出JSP頁面請求后,會發(fā)現(xiàn)有延遲現(xiàn)象,翻譯階段也可以被顯示的啟動,這稱為JSP頁面預(yù)編譯,針對JSP頁面進(jìn)行預(yù)

10、編譯可以避免延遲的問題。JSP的處理過程11跨平臺性。作為Java平臺的一部分,JSP具有一次編寫,各處運行的特點。系統(tǒng)的多平臺支持。基本上可以在所有平臺上的任意環(huán)境中開發(fā)、系統(tǒng)部署和擴展。強大的可伸縮性。從只有一個小的Jar文件就可以運行Servlet/JSP,到由多臺服務(wù)器進(jìn)行集群和負(fù)載均衡,到多臺Application進(jìn)行事務(wù)處理,消息處理,一臺服務(wù)器到無數(shù)臺服務(wù)器,Java顯示了一個巨大的生命力。開發(fā)效率高。JSP應(yīng)用充分支持JavaBean組件或Enterprise JavaBeans組件,直接利用其經(jīng)測試和信任的已有組件,根據(jù)需求再整合一些附加功能后,就可快速滿足開發(fā)要求,避免了很多重復(fù)開發(fā)工作,有效提高應(yīng)用程序的開發(fā)效率。JSP的優(yōu)點12產(chǎn)品復(fù)雜性高。為了達(dá)到系統(tǒng)跨平臺和高伸縮性,需要全面了解Java系統(tǒng)中開發(fā)的如JRE、

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論