當前位置:範文城>職場範本>實習報告>

最新JSP實習報告

實習報告 閱讀(1.61W)

jsp實習報告

最新JSP實習報告

實習內容:jsp

實習目的:通過jsp的學習,可以獨立的編寫留言板、上傳規格、考試系統、連線sqlserver資料庫、以及怎麼樣配置執行jsp伺服器

實習要求:懂得什麼是jsp,執行原理,它的基本語法,內建物件,服務端的輸出緩衝區,檔案流的讀取,jsp資料庫如:jdbc、odbc、mysql、oracle等,jsp與javabeans,javaservlet等

jsp是javaserverpages的縮寫,是由sun公司倡導、許多公司參與,於1999年推出的一種動態網頁技術標準,JSP實習報告。jsp是一個建立安全的、誇平臺的先進動態網頁技術。

一、jsp工作原理

·在一個jsp檔案第一次被請求時,jsp引擎把該jsp檔案轉換成為一個servlet。而這個引擎本身也是一個servlet,在jswdk或weblogic中,它就是jspservlet。jsp引擎先把該jsp檔案轉換成一個java原始檔,在轉換時如果發現jsp檔案有任何語法錯誤,轉換過程將中斷,並向服務端和客戶端輸出出錯資訊;如果轉換成功,jsp引擎用javac把該java原始檔編譯成相應的class檔案。然後建立一個該servlet的例項,該servlet的jspinit方法被執行,jspinit方法在servlet的生命週期中只被執行一次。然後jspservice方法被呼叫來處理客戶端的請求。對每一個請求,jsp引擎建立一個新的執行緒來處理該請求。如果有多個客戶端同時請求該jsp檔案,則jsp引擎會建立多個執行緒。每個客戶端請求對應一個執行緒。以多執行緒方式執行可大大降低對系統的資源需求,提高系統的併發量及響應時間.但應該注意多執行緒的程式設計限制,由於該servlet始終駐於記憶體,所以響應是非常快的。如果檔案被修改了,伺服器將根據設定決定是否對該檔案重新編譯,如果需要重新編譯,則將編譯結果取代記憶體中的servlet,並繼續上述處理過程。雖然jsp效率很高,但在第一次呼叫時由於需要轉換和編譯而有一些輕微的延遲。此外,如果在任何時候如果由於系統資源不足的原因,jsp引擎將以某種不確定的方式將servlet從記憶體中移去。當這種情況發生時jspdestroy方法首先被呼叫,然後servlet例項便被標記加入"垃圾收集"處理。jspinit及jspdestory格式如下:可在jspinit中進行一些初始化工作,如建立與資料庫的連線,或建立網路連線,從配置檔案中取一些引數等,在jspdestory中釋放相應的資源。

<%!publicvoidjspinit

{

··tln("jspinit");

}

%>

<%!publicvoidjspdestory

{

··tln("jspdestory");

}

%>

二、服務端的輸出緩衝區

預設情況下:服務端要輸出到客戶端的內容,不直接寫到客戶端,而是先寫到一個輸出緩衝區中.只有在下面三中情況下,才會把該緩衝區的內容輸出到客戶端上:

該jsp網頁已完成資訊的輸出

輸出緩衝區已滿

jsp中呼叫了h或hbuffer

輸出緩衝區的大小可以用:或uffersize設定,如下:

設定輸出緩衝區的大小為1kb。或uffersize(1);

設定輸出緩衝區的大小為0,即不緩衝。或uffersize(0);

用uffersize或uffersize可取的輸出緩衝區的大小,單位為位元組.用mmitted可檢檢視服務端是否已將資料輸出到客戶端.如果返回值是true則已將資料輸出到客戶端,是false則還沒有.

三、服務端輸出重定向

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

ederect("url")該方法通過修改http協議的header部分,對瀏覽器下達重定向指令的,使瀏覽器顯示重定向網頁的內容redirect("localhost:7001/");

下面的方法也能改變httpheader屬性,它的原理和1是一樣的.

<%tatus(_moved_permanently);

stringnewlocn="/";

eader("location",newlocn);

%>

採用該方法是利用伺服器端先將資料輸出到緩衝區的機制,在把緩衝區的內容傳送到客戶端之前,原來的不傳送,改為傳送該頁面的內容,如果在之前有很多輸出,前面的輸出已使緩衝區滿,將自動輸出到客戶端,那麼該語句將不起作用,這一點應該特別注意.如下面的例子中(1)會輸出的內容,2不會輸出的內容,而是輸出tln("@@@@@@@@@@@@@@@@@");中的內容,並且在服務端會丟擲:galstateexception:responsealreadycommitted異常,但客戶端沒有任何錯誤輸出,實習報告《JSP實習報告》。

(1)

<%@pagebuffer="1kb"%>

<%longi=0;

for(i=0;i<10;i++)

{

··tln("@@@@@@@@@@@@@@@@@");

}

%>

(2)

<%@pagebuffer="1kb"%>

<%longi=0;

for(i=0;i<600;i++)

{······

··tln("@@@@@@@@@@@@@@@@@");

}

%>

說明:

1.方法(1),(2)可以使用變量表示重定向的地址;方法(3)不能使用變量表示重定向的地址。

stringadd="./";

無法重定向到中去

stringadd=localhost:7001/

redirect(add);

可以重定向到localhost:7001/中去。

2.採用方法(1),(2)request中的變數(通過ttribute儲存到request中的值)不能在新的`頁面中採用,採用方法(3)能.綜上,我們應該採用(1),(2)重定向比較好.

四、jsp基本配置:

第一步:下載j2sdk和tomcat:到sun官方站點()下載j2sdk,注意下載版本為windowsofflineinstallation的sdk,同時最好下載j2se1.4.2documentation,然後到tomcat官方站點()下載tomcat(下載最新4.1.x版本的tomcat);

第二步:安裝和配置你的j2sdk和tomcat:執行j2sdk和tomcat的安裝程式,然後按預設設定進行安裝即可。

1.安裝j2sdk以後,需要配置一下環境變數,在我的電腦->屬性->高階->環境變數->系統變數中新增以下環境變數(假定你的j2sdk安裝在c:j2sdk1.4.2):

java_home=c:j2sdk1.4.2

classpath=.;%java_home%;%java_home%lib ;(.;一定不能少,因為它代表當前路徑)

path=%java_home%in

接著可以寫一個簡單的java程式來測試j2sdk是否已安裝成功:

publicclasstest{

publicstaticvoidmain(stringargs[]){

tln("thisisatestprogram.");

}

}

將上面的這段程式儲存為檔名為的檔案。

然後開啟命令提示符視窗,cd到你的所在目錄,然後鍵入下面的命令

javatest

此時如果看到打印出來thisisatestprogram.的話說明安裝成功了,如果沒有打印出這句話,你需要仔細檢查一下你的配置情況。

2.安裝tomcat後,在我的電腦->屬性->高階->環境變數->系統變數中新增以下環境變數(假定你的tomcat安裝在c: omcat):

catalina_home=c: omcat;

catalina_base=c: omcat;

然後修改環境變數中的classpath,把tomat安裝目錄下的commonlib下