JSP實習(xí)報告-總結(jié)報告模板_第1頁
JSP實習(xí)報告-總結(jié)報告模板_第2頁
JSP實習(xí)報告-總結(jié)報告模板_第3頁
JSP實習(xí)報告-總結(jié)報告模板_第4頁
JSP實習(xí)報告-總結(jié)報告模板_第5頁
已閱讀5頁,還剩5頁未讀, 繼續(xù)免費閱讀

付費下載

下載本文檔

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

文檔簡介

1、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)頁技術(shù)標(biāo)準(zhǔn)。JSP是一個建立安全的、夸平 臺的先進(jìn)動態(tài)頁技術(shù)。一、JSP工作原理在一

2、個JSP文件第一次被請求時,JSP引擎把該JSP文件轉(zhuǎn)換 成為一個servlet。而這個引擎本身也是一個 servlet,在JSWDKE 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()方法被

3、調(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)資源不足的

4、原因,JSP引擎將以某種不確定的方式 將servlet從內(nèi)存中移去。當(dāng)這種情況發(fā)生時jspDestroy()方法首先被調(diào) 用, 然后servlet實例便被標(biāo)記加入"垃圾收集”處理。 jspInit() 及 jspDestory()格式如下:可在jspInit()中進(jìn)行一些初始化工作,如建立與數(shù)據(jù)庫的連接,或建立絡(luò)連接,從配置文件中取一些參數(shù)等,在 jspDestory()中釋放相應(yīng)的資源二、服務(wù)端的輸出緩沖區(qū)缺省情況下:服務(wù)端要輸出到客戶端的內(nèi)容,不直接寫到客戶端,而是先寫到 一個輸出緩沖區(qū)中.只有在下面三中情況下,才會把該緩沖區(qū)的內(nèi)容輸出到客戶 端上:該JSP頁已完成信息的輸出輸出

5、緩沖區(qū)已滿JSP中調(diào)用了()或()輸出緩沖區(qū)的大小可以用:或()設(shè)置,如下:設(shè)置輸出緩沖區(qū)的大小為1KR或(1);設(shè)置輸出緩沖區(qū)的大小為0,即不緩沖?;?0);用()或()可取的輸出緩沖區(qū)的大小,單位為字節(jié). 用()可檢查看服務(wù)端是否 已將數(shù)據(jù)輸出到客戶端.如果返回值是TRUEU已將數(shù)據(jù)輸出到客戶端,是FALSEST沒有.三、服務(wù)端輸出重定向有以下3種方法可以做到輸出重定向:(“URL ) 該方法通過修改HTTPB議的HEADERB分,對瀏覽器下達(dá)重定向 指令的,使瀏覽器顯示重定向頁的內(nèi)容.(”:s:/localhost:7001/” );下面的方法也能改變HTTPHEADER!性,它的原理和

6、 1 是一樣的.采用該方法是利用服務(wù)器端先將數(shù)據(jù)輸出到緩沖區(qū)的機制 ,在把緩沖區(qū)的內(nèi)容發(fā)送到客戶端之前,原來的不發(fā)送,改為發(fā)送該頁面的內(nèi)容,如果在之前有很 多輸出,前面的輸出已使緩沖區(qū)滿,將自動輸出到客戶端,那么該語句將不起作用這一點應(yīng)該特別注意.如下面的例子中(1)會輸出的內(nèi)容,2不會輸出的內(nèi)容,而是輸出(”并且在服務(wù)端會拋出二 Response already mitted異常,但客戶端沒有任何錯誤輸說明:1. 方法(1),(2)可以使用變量表示重定向的;方法(3)不能使用變量表示重 定向的。Stringadd= "./ " ;無法重定向到中去Stringadd=:s:

7、/localhost:7001/(add);可以重定向到:s:/localhost:7001/ 中去。2. 采用方法(1),(2)request 中的變量(通過()保存到request中的值)不能在新的頁面中采用,采用方法 能.綜上,我們應(yīng)該采用 ,(2)重定向比較好.四、JSP基本配置:第一步:下載j2sdk和tomcat:到sun官方站點(:s:/j2se)下載j2sdk ,注意下載版本為 Windows Offline Installation 的SDK同時最好下載 J2SE Documentation ,然后至U tomcat 官方站點(:s:/dist/jakarta/tomcat-

8、4/)下載 tomcat (下載最新版本的 tomcat);第二步:安裝和配置你的j2sdk和tomcat:執(zhí)行j2sdk和tomcat的安裝程序, 然后按默認(rèn)設(shè)置進(jìn)行安裝即可。1 .安裝j2sdk以后,需要配置一下環(huán)境變量,在我的電腦 ,屬性,高級,環(huán)境 變量-> 系統(tǒng)變量中添加以下環(huán)境變量(假定彳的j2sdk安裝在 ): JAVA_HOME=c:classpath=.;%JAVA_HOME%lib;%JAVA_HOME%lib;(.; 一定不能少,因為它 代表當(dāng)前路徑)path=%JAVA_HOME%bin接著可以寫一個簡單的java程序來測試J2SDKg否已安裝成功:publicc

9、lassTestpublicstaticvoidmain(Stringargs)("Thisisatestprogram. " ); 將上面的這段程序保存為文件名為的文件。 然后打開命令提示符窗口, cd到你的所在目錄,然后鍵入下面的命令javac java Test此時如果看到打印出來This is a test program.的話說明安裝成功了, 如果沒有打印出這句話,你需要仔細(xì)檢查一下你的配置情況。2 .安裝Tomcat后,在我的電腦-屬性-高級-環(huán)境變量-系統(tǒng)變量中添加以下 環(huán)境變量(假定彳的tomcat安裝在c:tomcat ): CATALINA_HOME=c

10、:tomcat;CATALINA_BASE=c:tomcat;然后修改環(huán)境變量中的classpath ,把tomat安裝目錄下的monlib下的追加 到classpath 中去,修改后的 classpath 如下:classpath=.;%JAVA_HOME%lib;%JAVA_HOME%lib;%CATALINA_HOME%monlib ;接著可以啟動tomcat,在IE中訪問:s:/localhost:8080 如果看到tomcat的歡迎頁面的話說明安裝成功了。五、JSP與SQLB調(diào)試JSP用Jdbc與SQL數(shù)據(jù)庫連接 安裝JSP訪問SQL Server 20XX的驅(qū)動程序:從微軟的站上下

11、載驅(qū)動程序:SQL Server 20XX For JDBC驅(qū)動程序, 在百度中隨便搜索就有。然后將它安裝好。(比如安裝目錄是 D:SQLDriverForJDBC。)然后必須將安裝目錄中的lib目錄下三個jar文件:,拷貝到Tomcat目錄下monlib目錄下,之后,修改環(huán)境變量中的CLASSPATH巴SQL Server 20XX For JDBC驅(qū)動程序安裝目錄下的 D:SQLDriverForJDBClib;D:SQLDriverForJDBClib;D:SQLDriverForJDBC ;追力口至ij CLASSPATH去。必須重新啟動Tomcat!這樣做的目的是,jsp頁面在編譯過

12、程中不會 出現(xiàn)找不到sql server driver類庫的問題。寫一個簡單的用來測試連接SQL Server 20XX的JSP代碼您的第一個字段內(nèi)容為:您的第二個字段內(nèi)容為:將上面的JSP代碼保存為sql_ ,放在/Root目錄下。Servlet/JSP配置詳解 首先下載驅(qū)動程序:然后就是安裝JDK我是把它裝到從c:JDK目錄下面。然后設(shè)置CLASSPATH問題了:正如操作系統(tǒng)利用PATHfB搜索可執(zhí)行程序一樣,Java運行環(huán)境也會遍歷 CLASSPATH查找類,即便是HelloWorld這樣簡單的程序,JVM也會遍歷 CLASSPATH義的每一個路徑,直到找到相應(yīng)的文件為止。相信大家用的系

13、統(tǒng)不是2k就是XP,然后就應(yīng)當(dāng)如下設(shè)置Path:我的電腦- 屬性- 高級- 環(huán)境變量然后在環(huán)境變量的Path后面追加:C:JDKbin;.;C:JDKlib也可以這樣配置:C:JDKbin;.;C:JDKlib;C:JDKlib記?。涵h(huán)境變量中的.切記不能少,它表示當(dāng)前路徑,如果少掉出現(xiàn) 的錯誤等會就說!是關(guān)于運行環(huán)境的類庫,是關(guān)于一些工具的類庫如果沒有配置:C:JDKbin ,則會出現(xiàn)“ javac不是內(nèi)部或外部命令,也不是可運行的程序或批處理文件?!边@樣的錯誤。下面我們就寫一個示例程序:打開Editplus ,新建一個Java文件,請照著如下輸入,要一字不漏,并 且分清大小寫:public

14、 class HelloWorldpublic static void main(String口 args)("Hello,World! ” );然后把這個文件保存(ctrl+ s)到Java是分大小寫的,所以大小寫一定要分清,是不是或者其他。運行:開始- > 運行-> cmd在控制臺中把目錄切換到當(dāng)前目錄:javacjava HelloWorld你就會在控制臺上看見輸出的 Hello,World!javac是編譯命令,它把編譯成java就是解釋命令,JVM把解釋執(zhí)行.在這個時候:1、如果出現(xiàn) Exceptioninthread" main”:HelloWorl

15、d那就是你在環(huán)境變量中沒有加上那個.(dot)2、如果出現(xiàn) Exceptioninthread" main”:main或者:1: Public class helloworld must be defined in a file cal led那就是你沒有分清大小寫的寫入這個 HelloWorld ,或者保存得時候沒有保 存為。這個名字一定要跟public class的名字一樣對于環(huán)境變量的問題就說到這里,下面我先所說怎么在Editplus里面編譯 和運行,在Tools >參數(shù)設(shè)置- >配置用戶工具1 .添加工具(添加應(yīng)用程序)菜單文字:Compile Java Prog

16、ram程序:C:JDKbin參數(shù):文件名稱初始目錄:文件目錄2 .添加工具(添加應(yīng)用程序)菜單文字:Run Java Program程序:C:JDKbin參數(shù):文件名稱(不含擴展名)初始目錄:文件目錄工具組名稱可以隨便添,比如 Debug Java Program。然后在Tools的下拉菜單中,你就會看見Compile Java Program以及Run Java Program這兩個選項,以后你就可以利用 ctrl + 1編譯和ctrl+ 2運行程序了下面我們討論Servlet的運行環(huán)境:要運行 Servlet ,則需要 JSP/Servlet container ,我用 Tomcat。:s

17、:/builds/jakarta-tomcat-5/nightly/然后把這個壓縮包解壓到:C:Tomcat然后再配置環(huán)境變量;添加三個系統(tǒng)變量:JAVA_HOME: C:JDK TOMCAT_HOMEC:Tomcat CLASSPATH: %JAVA_HOME%lib;%TOMCAT_HOME%libTomcat的環(huán)境變量就配置完畢了,下面檢驗 Tomcat是否能夠運行:在控制臺中轉(zhuǎn)到C:Tomcatbin 這個目錄,運行startup ,然后回出現(xiàn)一 個窗口,連跳一大串東西,最后表示Server已經(jīng)運行。在瀏覽器中輸入:s:/localhost:8080,出現(xiàn)歡迎界面,則表示 Tomcat

18、沒問題了。然后和上面一樣,寫入你的第一個Servlet。import *;import *;import *;public class HelloWorld extends HttpServlet public void doGet(HttpServletRequest request,HttpServletResponse response)throws ServletException,IOException ("text/html " );PrintWriter out =();(“< html >< head>< title >&

19、quot; );("This is my first Servlet " );(“/title></head >< body>" );(“< h1>Hello,World! </h1 >" );(“</body ></html >" ); 然后照樣用javac來編譯這個文件,如果出現(xiàn)無法import *那么就是應(yīng)該把C:Tomcatmonlib 里面的文件拷貝到C:JDKjrelibext 中,再次編譯,就沒有問題了!然后在Tomcat目錄里面的C:Tomcatweb

20、appsROOT里面按如下的文件結(jié) 構(gòu):ROOTROOT(如果你的servlet 的.class打成了 .jar文件,則放在lib 下面)ROOTWEB-INFclasses(把上面生成的文件放在這個里面)然后在瀏覽器中輸入:s:/localhost:8080/servlet/HelloWorld,于是Server 眾望所歸白報錯了 :Error404-Not Found出不來,然后繼續(xù)弄下面的Servlet 必須使用 C:TomcatwebappsROOTWEB-INFa個目錄下面的文件 進(jìn)行注冊,用EP打開這個文件,在里面加入: < servlet > < servlet

21、-name >HelloWorld </servlet-name > < servlet-class >HelloWorld </servlet-class > </servlet >< servlet-mapping >< servlet-name >HelloWorld </servlet-name >< url-pattern >/servlet/helloworld < /url-pattern >< /servlet-mapping >這樣的結(jié)構(gòu)< se

22、rvlet >< servlet-name >HelloWorld </servlet-name >< servlet-class >HelloWorld </servlet-class >< /servlet >表示指定包含的servlet類。而以下的結(jié)構(gòu):< servlet-mapping >< servlet-name >HelloWorld </servlet-name >< url-pattern >/servlet/HelloWorld < /url-patter

23、n >< /servlet-mapping >表示指定HelloServlet應(yīng)當(dāng)映射到哪一種URL模式在修改完畢過后,重新啟動Server ,然后再輸入:s:/localhost:8080/servlet/HelloWorld ,那么偌大一個 Hello,World!等 著你呢。六、JSP和Servlet的區(qū)另hSUN1先發(fā)展出SERVLET其功能比較強勁,體系設(shè)計也很先進(jìn),只是,它輸 出HTMLS句還是采用了老的CGI方式,是一句一句輸出,所以,編寫和修改HTML 非常不方便。后來SUN隹出了類似于ASP的JSP,把JAVA代碼嵌套到HTML語句中,這樣,就大大簡化和方便

24、了頁的設(shè)計和修改。ASP PHP JSP都是嵌套型的SCRIP T語言。一個分布式系統(tǒng)應(yīng)分為三層:表示層,業(yè)務(wù)邏輯層,數(shù)據(jù)存取層,在J2EE體系結(jié)構(gòu)中,SERVLETg來寫業(yè)務(wù)邏輯層是很強大的,但是對 于寫表示層就很不方便。JSP則主要是為了方便寫表示層而設(shè)計的。ENTITYBEANS現(xiàn)數(shù)據(jù)存取層,SESSION BEANS現(xiàn)業(yè)務(wù)邏輯層。如果是簡單的應(yīng)用系統(tǒng),可采用JSP+BEANS結(jié)構(gòu)進(jìn)行設(shè)計,JSP中應(yīng)該僅僅存放與表示層 有關(guān)的東西,也就是說,只放輸出 HTMLX的部份。而所有的數(shù)據(jù)計算,數(shù)據(jù)分 析,數(shù)據(jù)庫聯(lián)結(jié)處理,統(tǒng)統(tǒng)是屬于業(yè)務(wù)邏輯層,應(yīng)該放在JAVA BEANSK通過JSP調(diào)用JAVABEANS實現(xiàn)兩層的整合。實際上,微軟的DNAK術(shù),簡單說,就是ASP+COM/DCOM。與JSP+BEANS全類似,所有的表示層由ASP 完成,所有的業(yè)務(wù)邏輯由COM/DCOM成。為什么要采用這些組件技術(shù)呢?因為單純的ASP/JSP語言是非常低效率執(zhí)行的,如果出現(xiàn)大量用戶點擊,純 SCR

溫馨提示

  • 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

提交評論