java培訓(xùn)之Servlet技術(shù)2(共18張)(PPT 18頁(yè))_第1頁(yè)
java培訓(xùn)之Servlet技術(shù)2(共18張)(PPT 18頁(yè))_第2頁(yè)
java培訓(xùn)之Servlet技術(shù)2(共18張)(PPT 18頁(yè))_第3頁(yè)
java培訓(xùn)之Servlet技術(shù)2(共18張)(PPT 18頁(yè))_第4頁(yè)
java培訓(xùn)之Servlet技術(shù)2(共18張)(PPT 18頁(yè))_第5頁(yè)
已閱讀5頁(yè),還剩13頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、Servlet基礎(chǔ)小結(jié)Servlet基礎(chǔ)小結(jié)Web.xml:部署描述文件配置web應(yīng)用,如描述了Servlet配置容器通過(guò)它獲得應(yīng)用程序的配置信息容器管理servlet對(duì)象調(diào)用servlet對(duì)象上的方法Servlet必須實(shí)現(xiàn)Servlet接口在doGet/doPost方法中通過(guò)HttpServletRequest獲取用戶(hù)請(qǐng)求信息完成業(yè)務(wù)功能通過(guò)HttpServletResponse作出響應(yīng)第1頁(yè),共18頁(yè)。Day 2 大綱Servlet生命周期ServletRequestServletContextServletConfigServlet的資源訪(fǎng)問(wèn)概述requestDispacher詳解sen

2、dRedirect詳解第2頁(yè),共18頁(yè)。Servlet生命周期容器管理Servlet依據(jù)web.xml接口Servlet中三個(gè)方法 init() 、 service() 、 destroy() 管理1、加載和實(shí)例化容器啟動(dòng)時(shí),且配置了: 1容器接收到客戶(hù)端請(qǐng)求2、初始化容器調(diào)用該 Servlet 對(duì)象的 init()3、請(qǐng)求處理 容器調(diào)用 service() 方法4、服務(wù)終止, 容器調(diào)用 destroy()方法第3頁(yè),共18頁(yè)。Servlet生命周期第4頁(yè),共18頁(yè)。Servlet生命周期(測(cè)試)測(cè)試:容器啟動(dòng)時(shí)創(chuàng)建了Servlet對(duì)象(HelloWorld.java) HelloWorld

3、servlet.HelloWorld username sa password sa 1public void init() throws ServletException System.out.println(helloWorld Servlet init!);第5頁(yè),共18頁(yè)。ServletRequestServletRequest接口定義了一個(gè)對(duì)象,該對(duì)象用于為Servlet提供客戶(hù)端請(qǐng)求信息Servlet容器創(chuàng)建一個(gè)ServletRequest對(duì)象,并將其作為參數(shù)傳遞給Servlet的service()方法擴(kuò)展ServletRequest的接口能夠提供附加的協(xié)議相關(guān)的數(shù)據(jù),例如,Htt

4、pServletRequest對(duì)象提供HTTP數(shù)據(jù)第6頁(yè),共18頁(yè)。ServletContext(全局)ServletContext接口定義了一個(gè)Servlet環(huán)境對(duì)象,提供了訪(fǎng)問(wèn)WEB程序的背景信息。Servlet容器在啟動(dòng)時(shí)加載WEB應(yīng)用,并為每個(gè)WEB應(yīng)用創(chuàng)建唯一的一個(gè)ServletContext對(duì)象,可以把該對(duì)象看做是一個(gè)WEB的應(yīng)用程序,在服務(wù)器端共享內(nèi)存。Servlet對(duì)象只在WEB應(yīng)用時(shí)被關(guān)閉的時(shí)候才銷(xiāo)毀,不同的WEB應(yīng)用,ServletContext各自獨(dú)立存在,在Servlet中,我們可以通過(guò)以下代碼得到具體的ServletContext對(duì)象,等價(jià)于JSP中的Applicat

5、ion隱式對(duì)象ServletContext application=this.getServletContext()第7頁(yè),共18頁(yè)。ServletContextServlet 需要與自己的運(yùn)行環(huán)境(Container)進(jìn)行交互時(shí), 就需要使用 ServletContext 比如, 從運(yùn)行環(huán)境得到 Servlet 的配置信息(getInitParameter方法), 得到環(huán)境提供的資源(getResource, getResourceAsStream等), 通過(guò)Servlet Container(也就是應(yīng)用服務(wù)器)記錄運(yùn)行日志(log方法)等等.第8頁(yè),共18頁(yè)。ServletContext可

6、以把保存在ServletContext裡的信息理解為 全局變量 而把ServeletContext本身理解為存放這些全局變量的一個(gè) 包 。所有Servlet都可以通過(guò)getServletContext().getAttribute()和 getServletcontext().setAttribute()來(lái)操作這些信息。 有些信息如果只有一個(gè)Servlet會(huì)用到就沒(méi)有必要放在ServletContext裡相反信息會(huì)被好幾個(gè)Servlet用到就需要把這個(gè) 信息存放在ServletContext這個(gè)存放 全局變量 的 包 裡面以便讓其他Servlet共享到這些 全局變量 。第9頁(yè),共18頁(yè)。Ser

7、vletContextServletContext對(duì)象能夠訪(fǎng)問(wèn)WEB項(xiàng)目中的:1、初始化參數(shù)2、存儲(chǔ)在ServletContext中的對(duì)象3、Web項(xiàng)目中的資源文件4、日志總結(jié):ServletContext即Servlet容器,提供的方法可以在同一個(gè)Web應(yīng)用下的所有Servlet中使用第10頁(yè),共18頁(yè)。ServletConfig(局部)ServletConfig接口提供了讓一個(gè)Servlet訪(fǎng)問(wèn)Web應(yīng)用中配置信息,一個(gè)ServletConfig對(duì)象只能在一個(gè)Servlet中使用可以使用下面的方法來(lái)讀取一個(gè)Servlet在Web.xml中初始化的參數(shù),Config.getInitParam

8、eter(paramName);第11頁(yè),共18頁(yè)。Servlet的資源訪(fǎng)問(wèn)Servlet配置信息配置信息在web.xml中完成配置信息抽象為接口ServletConfig容器在 Servlet 的初始化過(guò)程中將創(chuàng)建 ServletConfig 對(duì)象,并傳遞給 ServletServletConfig接口:public String getInitParameter(String);Enumeration getInitParameterNames();public ServletContext getServletContext();public java.lang.String getSe

9、rvletName();第12頁(yè),共18頁(yè)。Servlet配置信息在程序中使用ServletConfig對(duì)象獲得ServletConfig對(duì)象:一般在init方法中獲取,并將之作為一個(gè)成員變量獲得Servlet初始化參數(shù)public void init() throws ServletException / Put your code here ServletConfig sc = this.getServletConfig();在doGet方法或doPost方法中:String username = sc.getInitParameter(username);String password

10、= sc.getInitParameter(password);第13頁(yè),共18頁(yè)。RequestDispatcher詳解RequestDispatcher接口include(ServletRequest,ServletResponse)forward(ServletRequest,ServletResponse)第14頁(yè),共18頁(yè)。RequestDispatcherinclude示例,在ServletA中包含HeaderServlet(頭部信息)與FooterServlet(尾部信息)在ServletA的doGet(doPost)方法中:ServletContext context = ge

11、tServletContext();RequestDispatcher rd = context. getRequestDispatcher(/servlet/HeaderServlet);/包含頭部rd.include(request,response);out.println(“in servletA”);/包含尾部RequestDispatcher rd1 = context. getRequestDispatcher(/servlet/FooterServlet);rd1.include(request,response);第15頁(yè),共18頁(yè)。RequestDispatcherforw

12、ard示例:在ServletAction中根據(jù)處理結(jié)果將請(qǐng)求轉(zhuǎn)發(fā)至成功頁(yè)面或失敗頁(yè)面在ServletAction的doGet(doPost)方法中:ServletContext context = getServletContext();RequestDispatcher rd = null;/進(jìn)行處理If(ok) rd = context. getRequestDispatcher(/success.jsp);else rd = context. getRequestDispatcher(/fail.jsp);rd.forward(request,response);第16頁(yè),共18頁(yè)。總結(jié)Servlet生命周期:加載并實(shí)例化、初始化、服務(wù)、銷(xiāo)毀;ServletContext接口定義了一個(gè)Servlet環(huán)境,Servlet容器啟動(dòng)時(shí)會(huì)加載Web應(yīng)用,并為每一個(gè)Web應(yīng)用程序創(chuàng)建唯一的一個(gè)ServletContext對(duì)

溫馨提示

  • 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ì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論