




版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
本文格式為Word版,下載可任意編輯——ServletsJsp試驗(yàn)4Servlet容器模型4試驗(yàn)四Servlet容器模型
一.試驗(yàn)?zāi)康?/p>
1.把握Web應(yīng)用程序的DD文件web.xml的配置方法和作用;2.把握如何通過(guò)ServletConfig獲取Servlet的初始化參數(shù);3.把握ServletContext的概念,如何獲得ServletContext對(duì)象;4.把握如何通過(guò)RequestDispatcher轉(zhuǎn)發(fā)請(qǐng)求。二.試驗(yàn)內(nèi)容
1.建立一個(gè)名為bookstore的Web應(yīng)用程序
在Tomcat的webapps目錄下,建立一個(gè)如下所示的目錄結(jié)構(gòu):
|-bookstore
|-html(包含所有的HTML文件)|-jsp(包含所有的JSP文件)
|-images(包含所有的GIF、JPEG和BMP圖象文件)|-index.html(默認(rèn)的HTML文件)|-WEB-INF|-classes├lib
├web.xml
圖4.1bookstore應(yīng)用程序的目錄結(jié)構(gòu)
這樣就建立了一個(gè)名為bookstore的Web應(yīng)用程序,本試驗(yàn)后面的題目都在該應(yīng)用程序下面完成。
2.使用ServletConfig檢索Servlet的初始化參數(shù)
編寫(xiě)ConfigDemoServlet程序,內(nèi)容如下:
packagecom.demo;importjava.io.*;importjava.sql.*;
importjavax.servlet.*;
importjavax.servlet.http.*;
publicclassConfigDemoServletextendsHttpServlet{StringservletName=null;ServletConfigconfig=null;Stringemail=null;
Stringtelephone=null;
publicvoidinit(){
config=getServletConfig();
servletName=config.getServletName();email=config.getInitParameter(\;
telephone=config.getInitParameter(\;}
publicvoidservice(HttpServletRequestrequest,
HttpServletResponseresponse)
throwsServletException,IOException{
response.setContentType(\PrintWriterout=response.getWriter();out.println(\
out.println(\名稱(chēng):\out.println(\地址:\out.println(\電話(huà):\out.println(\}}
修改web.xml文件,在其中添加下面Servlet定義和初始化參數(shù)定義
configDemoServlet
com.demo.ConfigDemoServlet
hacker@163.com
telephone8899123
1
configDemoServlet/configDemo.do
在瀏覽器的地址欄中輸入下面URL訪(fǎng)問(wèn)該Servlet:
http://localhost:8080/bookstore/configDemo.do
程序運(yùn)行結(jié)果如圖3.2所示:
圖3.2ConfigDemoServlet的運(yùn)行結(jié)果
3.ServletContext的使用
修改上面程序,將email地址和電話(huà)使用ServletContext初始化參數(shù)傳遞給ConfigDemoServlet。使用ServletContext對(duì)象將email地址和電話(huà)信息寫(xiě)入日志文件中,并查看日志文件。
4.下面是一個(gè)Servlet,它可以獲得有關(guān)服務(wù)器的信息。
packagecom.demo;importjava.io.*;importjava.util.*;
importjavax.servlet.*;
publicclassServerInfoextendsGenericServlet{publicvoidservice(ServletRequestrequest,ServletResponseresponse)throwsServletException,IOException{response.setContentType(\PrintWriterout=response.getWriter();ServletContextsc=getServletContext();out.println(\out.println(\out.println(\out.println(\獲取服務(wù)器端信息\out.println(\out.println(\out.println(\服務(wù)器端信息:
\out.println(\out.println(\out.println(\站點(diǎn)名\out.println(\
request.getServerName()+\
out.println(\out.println(\out.println(\端口號(hào)\out.println(\out.println(\out.println(\out.println(\服務(wù)器類(lèi)型\out.println(\out.println(\out.println(\out.println(\支持Servlet版本\
out.println(\
+sc.getMinorVersion()+\}}
out.println(\
out.println(\
out.println(\服務(wù)器屬性\out.println(\//獲得服務(wù)器屬性集合
Enumerationattributes=sc.getAttributeNames();while(attributes.hasMoreElements()){Stringname=(String)attributes.nextElement();out.println(name);}
out.println(\out.println(\
out.println(\out.println(\out.println(\
5.簡(jiǎn)單的綜合應(yīng)用
創(chuàng)立一個(gè)名為input.html的HTML頁(yè)面,其中包括一個(gè)表單,表單中包含兩個(gè)文本域,分別供用戶(hù)輸入學(xué)號(hào)和姓名,該頁(yè)面也包含提交和重置按鈕。
定義一個(gè)名為com.demo.Student類(lèi),其中包括學(xué)號(hào)sno和姓名name兩個(gè)private的成員變量,定義訪(fǎng)問(wèn)和修改sno和name的方法。
編寫(xiě)名為FirstServlet的Servlet,要求當(dāng)用戶(hù)在input.html中輸入信息后點(diǎn)擊“提交〞按鈕,請(qǐng)求FirstServlet對(duì)其處理。在FirstServlet中使用表單傳遞的參數(shù)(學(xué)號(hào)和姓名)創(chuàng)立一個(gè)Student對(duì)象并將其作為屬性存儲(chǔ)在ServletContext對(duì)象中,然后獲得通過(guò)ServletContext的getRequestDispatcher()方法獲得RequestDispatcher()對(duì)象,將請(qǐng)求轉(zhuǎn)發(fā)到SecondServlet。
在SecondServlet中取出ServletContext上存儲(chǔ)的Student對(duì)象,并顯示輸出該學(xué)生的學(xué)號(hào)和姓名。在SecondServlet的輸出中應(yīng)當(dāng)包含一個(gè)超鏈接,點(diǎn)擊該連接可以返回input.html頁(yè)面。
圖4.2input.html頁(yè)面顯示結(jié)果圖4.3SecondServlet顯示結(jié)果
代碼:
LoginPage
Student.javapackagecom.demo;publicclassStudent{privateStringsno;privateStringname;
publicStudent(Stringsno,Stringname){}
publicvoidsetSno(Stringsno){this.sno=sno;}
publicvoidsetName(Stringname){=name;}
publicStringgetSno(){returnsno;}
publicStringgetName(){returnname;}}
F
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 會(huì)員專(zhuān)利購(gòu)買(mǎi)合同樣本
- 京東入職合同樣本
- 供貨水果合同標(biāo)準(zhǔn)文本
- 臨時(shí)供用電合同樣本
- 中介建筑中標(biāo)合同樣本
- 樂(lè)刷授權(quán)合同樣本
- 個(gè)人勞動(dòng)分紅合同樣本
- 個(gè)體漁船合同標(biāo)準(zhǔn)文本
- 中介房產(chǎn)股合同標(biāo)準(zhǔn)文本
- pvc管材施工合同標(biāo)準(zhǔn)文本
- 《美國(guó)基本概況》課件
- 住宅小區(qū)工程施工組織設(shè)計(jì)方案
- 基于學(xué)習(xí)任務(wù)群的小學(xué)語(yǔ)文教學(xué)實(shí)踐探究
- 從入門(mén)到精通:2024年ERP系統(tǒng)基礎(chǔ)培訓(xùn)教程
- 人工智能在軍事領(lǐng)域的智能化軍事作戰(zhàn)系統(tǒng)考核試卷
- 醫(yī)療機(jī)構(gòu)安全生產(chǎn)獎(jiǎng)勵(lì)與舉報(bào)制度
- 布貼畫(huà)課件教學(xué)課件
- 船舶維修應(yīng)急服務(wù)方案
- 時(shí)態(tài)-一般現(xiàn)在時(shí)小英語(yǔ)法
- 公文寫(xiě)作第六章請(qǐng)示、批復(fù)
- 動(dòng)物疫病監(jiān)測(cè)與預(yù)警
評(píng)論
0/150
提交評(píng)論