亚洲一区亚洲二区亚洲三区,国产成人高清在线,久久久精品成人免费看,999久久久免费精品国产牛牛,青草视频在线观看完整版,狠狠夜色午夜久久综合热91,日韩精品视频在线免费观看

JSP實習(xí)報告

時間:2021-07-04 13:10:23 實習(xí)報告 我要投稿

JSP實習(xí)報告

JSP實習(xí)報告

JSP實習(xí)報告

實習(xí)內(nèi)容:JSP

實習(xí)目的:通過JSP的學(xué)習(xí),可以獨立的編寫留言板、上傳規(guī)格、考試系統(tǒng)、連接SQLserver數(shù)據(jù)庫、以及怎么樣配置運行jsp服務(wù)器

實習(xí)要求:懂得什么是JSP,運行原理,它的基本語法,內(nèi)置對象,服務(wù)端的輸出緩沖區(qū),文件流的讀取,jsp數(shù)據(jù)庫如:jdbc、odbc、mysql、oracle等,jsp與javaBeans,java Servlet等

JSP是Java Server Pages的縮寫,是由Sun公司倡導(dǎo)、許多公司參與,于1999年推出的一種動態(tài)網(wǎng)頁技術(shù)標(biāo)準(zhǔn)。JSP是一個建立安全的、夸平臺的先進動態(tài)網(wǎng)頁技術(shù)。

一、JSP工作原理

在一個JSP文件第一次被請求時,JSP引擎把該JSP文件轉(zhuǎn)換成為一個servlet。而這個引擎本身也是一個servlet,在JSWDK或WEBLOGIC中,它就是JspServlet。

JSP引擎先把該JSP文件轉(zhuǎn)換成一個Java源文件,在轉(zhuǎn)換時如果發(fā)現(xiàn)jsp文件有任何語法錯誤,轉(zhuǎn)換過程將中斷,并向服務(wù)端和客戶端輸出出錯信息;如果轉(zhuǎn)換成功,

JSP引擎用javac把該Java源文件編譯成相應(yīng)的class文件。然后創(chuàng)建一個該SERVLET的實例,該SERVLET的jspInit()方法被執(zhí)行,jspInit()方法在servlet的生命周期中只被執(zhí)行一次。然后jspService()方法被調(diào)用來處理客戶端的請求。對每一個請求,JSP引擎創(chuàng)建一個新的線程來處理該請求。如果有多個客戶端同時請求該JSP文件,則JSP引擎會創(chuàng)建多個線程。每個客戶端請求對應(yīng)一個線程。以多線程方式執(zhí)行可大大降低對系統(tǒng)的資源需求,提高系統(tǒng)的并發(fā)量及響應(yīng)時間.但應(yīng)該注意多線程的編程限制,由于該servlet始終駐于內(nèi)存,所以響應(yīng)是非?斓。

如果.jsp文件被修改了,服務(wù)器將根據(jù)設(shè)置決定是否對該文件重新編譯,如果需要重新編譯,則將編譯結(jié)果取代內(nèi)存中的servlet,并繼續(xù)上述處理過程。

雖然JSP效率很高,但在第一次調(diào)用時由于需要轉(zhuǎn)換和編譯而有一些輕微的延遲。

此外,如果在任何時候如果由于系統(tǒng)資源不足的原因,JSP引擎將以某種不確定的方式將servlet從內(nèi)存中移去。當(dāng)這種情況發(fā)生時jspDestroy()方法首先被調(diào)用,

然后servlet實例便被標(biāo)記加入"垃圾收集"處理。

jspInit()及jspDestory()格式如下:可在jspInit()中進行一些初始化工作,如建立與數(shù)據(jù)庫的連接,或建立網(wǎng)絡(luò)連接,從配置文件中取一些參數(shù)等,在jspDestory()中釋放相應(yīng)的資源。

二、服務(wù)端的輸出緩沖區(qū)

缺省情況下:服務(wù)端要輸出到客戶端的內(nèi)容,不直接寫到客戶端,而是先寫到一個輸出緩沖區(qū)中.只有在下面三中情況下,才會把該緩沖區(qū)的內(nèi)容輸出到客戶端上:

該JSP網(wǎng)頁已完成信息的`輸出

輸出緩沖區(qū)已滿

JSP中調(diào)用了out.flush()或response.flushbuffer()

輸出緩沖區(qū)的大小可以用:或response.setBufferSize()設(shè)置,如下:

設(shè)置輸出緩沖區(qū)的大小為1KB;騬esponse.setBufferSize(1);

設(shè)置輸出緩沖區(qū)的大小為0,即不緩沖。或response.setBufferSize(0);

用response.getBufferSize()或out.getBufferSize()可取的輸出緩沖區(qū)的大小,單位為字節(jié).

用response.isCommitted()可檢查看服務(wù)端是否已將數(shù)據(jù)輸出到客戶端.

如果返回值是TRUE則已將數(shù)據(jù)輸出到客戶端,是FALSE則還沒有.

三、服務(wù)端輸出重定向

有以下3種方法可以做到輸出重定向:

RESPONSE.SETREDERECT("URL")

該方法通過修改HTTP協(xié)議的HEADER部分,對瀏覽器下達重定向指令的,使瀏覽器顯示重定向網(wǎng)頁的內(nèi)容.

response.sendRedirect("http://localhost:7001/");

下面的方法也能改變HTTP

HEADER屬性,它的原理和

1

是一樣的.

采用

該方法是利用服務(wù)器端先將數(shù)據(jù)輸出到緩沖區(qū)的機制,在把緩沖區(qū)的內(nèi)容發(fā)送到客戶端之前,原來的不發(fā)送,改為發(fā)送該頁面的內(nèi)容,如果在之前有很多輸出,前面的輸出已使緩沖區(qū)滿,將自動輸出到客戶端,那么該語句將不起作用,這一點應(yīng)該特別注意.

如下面的例子中(1)會輸出index.html的內(nèi)容,2

不會輸出index.html的內(nèi)容,而是輸出out.println("@@@@@@@@@@@@@@@@@");

中的內(nèi)容,并且在服務(wù)端會拋出:java.lang.IllegalStateException:

Response

already

committed

異常,但客戶端沒有任何錯誤輸出。

(1)

【JSP實習(xí)報告】相關(guān)文章:

JSP實習(xí)報告09-27

JSP實習(xí)報告 -實習(xí)報告01-01

JSP(jsp:forward)應(yīng)用 -電腦資料01-01

JSP(jsp:application)實例 -電腦資料01-01

JSP的page指令 -電腦資料01-01

JSPa sample jsp -電腦資料01-01

FCKeditor的JSP版漏洞 -電腦資料01-01

手工注射JSP學(xué)習(xí) -電腦資料01-01

怎樣入侵JSP網(wǎng)站 -電腦資料01-01