範文齋

位置:首頁 > 職場範文 > 實習報告

最新JSP實習報告

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下

標籤:jsp 實習 報告