




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、Servlet基礎(chǔ)小結(jié)Servlet基礎(chǔ)小結(jié)Web.xml:部署描述文件配置web應(yīng)用,如描述了Servlet配置容器通過它獲得應(yīng)用程序的配置信息容器管理servlet對象調(diào)用servlet對象上的方法Servlet必須實現(xiàn)Servlet接口在doGet/doPost方法中通過HttpServletRequest獲取用戶請求信息完成業(yè)務(wù)功能通過HttpServletResponse作出響應(yīng)第1頁,共18頁。Day 2 大綱Servlet生命周期ServletRequestServletContextServletConfigServlet的資源訪問概述requestDispacher詳解sen
2、dRedirect詳解第2頁,共18頁。Servlet生命周期容器管理Servlet依據(jù)web.xml接口Servlet中三個方法 init() 、 service() 、 destroy() 管理1、加載和實例化容器啟動時,且配置了: 1容器接收到客戶端請求2、初始化容器調(diào)用該 Servlet 對象的 init()3、請求處理 容器調(diào)用 service() 方法4、服務(wù)終止, 容器調(diào)用 destroy()方法第3頁,共18頁。Servlet生命周期第4頁,共18頁。Servlet生命周期(測試)測試:容器啟動時創(chuàng)建了Servlet對象(HelloWorld.java) HelloWorld
3、servlet.HelloWorld username sa password sa 1public void init() throws ServletException System.out.println(helloWorld Servlet init!);第5頁,共18頁。ServletRequestServletRequest接口定義了一個對象,該對象用于為Servlet提供客戶端請求信息Servlet容器創(chuàng)建一個ServletRequest對象,并將其作為參數(shù)傳遞給Servlet的service()方法擴(kuò)展ServletRequest的接口能夠提供附加的協(xié)議相關(guān)的數(shù)據(jù),例如,Htt
4、pServletRequest對象提供HTTP數(shù)據(jù)第6頁,共18頁。ServletContext(全局)ServletContext接口定義了一個Servlet環(huán)境對象,提供了訪問WEB程序的背景信息。Servlet容器在啟動時加載WEB應(yīng)用,并為每個WEB應(yīng)用創(chuàng)建唯一的一個ServletContext對象,可以把該對象看做是一個WEB的應(yīng)用程序,在服務(wù)器端共享內(nèi)存。Servlet對象只在WEB應(yīng)用時被關(guān)閉的時候才銷毀,不同的WEB應(yīng)用,ServletContext各自獨(dú)立存在,在Servlet中,我們可以通過以下代碼得到具體的ServletContext對象,等價于JSP中的Applicat
5、ion隱式對象ServletContext application=this.getServletContext()第7頁,共18頁。ServletContextServlet 需要與自己的運(yùn)行環(huán)境(Container)進(jìn)行交互時, 就需要使用 ServletContext 比如, 從運(yùn)行環(huán)境得到 Servlet 的配置信息(getInitParameter方法), 得到環(huán)境提供的資源(getResource, getResourceAsStream等), 通過Servlet Container(也就是應(yīng)用服務(wù)器)記錄運(yùn)行日志(log方法)等等.第8頁,共18頁。ServletContext可
6、以把保存在ServletContext裡的信息理解為 全局變量 而把ServeletContext本身理解為存放這些全局變量的一個 包 。所有Servlet都可以通過getServletContext().getAttribute()和 getServletcontext().setAttribute()來操作這些信息。 有些信息如果只有一個Servlet會用到就沒有必要放在ServletContext裡相反信息會被好幾個Servlet用到就需要把這個 信息存放在ServletContext這個存放 全局變量 的 包 裡面以便讓其他Servlet共享到這些 全局變量 。第9頁,共18頁。Ser
7、vletContextServletContext對象能夠訪問WEB項目中的:1、初始化參數(shù)2、存儲在ServletContext中的對象3、Web項目中的資源文件4、日志總結(jié):ServletContext即Servlet容器,提供的方法可以在同一個Web應(yīng)用下的所有Servlet中使用第10頁,共18頁。ServletConfig(局部)ServletConfig接口提供了讓一個Servlet訪問Web應(yīng)用中配置信息,一個ServletConfig對象只能在一個Servlet中使用可以使用下面的方法來讀取一個Servlet在Web.xml中初始化的參數(shù),Config.getInitParam
8、eter(paramName);第11頁,共18頁。Servlet的資源訪問Servlet配置信息配置信息在web.xml中完成配置信息抽象為接口ServletConfig容器在 Servlet 的初始化過程中將創(chuàng)建 ServletConfig 對象,并傳遞給 ServletServletConfig接口:public String getInitParameter(String);Enumeration getInitParameterNames();public ServletContext getServletContext();public java.lang.String getSe
9、rvletName();第12頁,共18頁。Servlet配置信息在程序中使用ServletConfig對象獲得ServletConfig對象:一般在init方法中獲取,并將之作為一個成員變量獲得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頁,共18頁。RequestDispatcher詳解RequestDispatcher接口include(ServletRequest,ServletResponse)forward(ServletRequest,ServletResponse)第14頁,共18頁。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頁,共18頁。RequestDispatcherforw
12、ard示例:在ServletAction中根據(jù)處理結(jié)果將請求轉(zhuǎn)發(fā)至成功頁面或失敗頁面在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頁,共18頁??偨Y(jié)Servlet生命周期:加載并實例化、初始化、服務(wù)、銷毀;ServletContext接口定義了一個Servlet環(huán)境,Servlet容器啟動時會加載Web應(yīng)用,并為每一個Web應(yīng)用程序創(chuàng)建唯一的一個ServletContext對
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 南昌市租賃住房合同樣本
- 青島企業(yè)員工勞動合同范本
- 企業(yè)退休返聘合同范本
- 租賃運(yùn)輸工具合同標(biāo)準(zhǔn)
- 版離婚合同模板:專業(yè)律師為您量身定制
- 酒店員工勞動合同標(biāo)準(zhǔn)合同
- 高校畢業(yè)就業(yè)合同簽訂須知
- 影視作品授權(quán)合同(臺港澳地區(qū))
- 光纖通信安全與防護(hù)考核試卷
- 木片在農(nóng)業(yè)土壤改良的研究進(jìn)展考核試卷
- 地理-天一大聯(lián)考2025屆高三四省聯(lián)考(陜晉青寧)試題和解析
- 小巴掌童話課件
- 教科版六年級科學(xué)下冊全冊教學(xué)設(shè)計教案
- 部編版小學(xué)五年級下冊《道德與法治》全冊教案含教學(xué)計劃
- 運(yùn)動會活動流程中的醫(yī)療安全保障措施
- 2025公司員工試用期合同(范本)
- 第十章皮膚軟組織擴(kuò)張術(shù)醫(yī)學(xué)美容教研室袁曉野講解
- 2025年冷鏈物流產(chǎn)品配送及倉儲管理承包合同3篇
- 2024年青島遠(yuǎn)洋船員職業(yè)學(xué)院高職單招語文歷年參考題庫含答案解析
- 2024-2025學(xué)年成都高新區(qū)七上數(shù)學(xué)期末考試試卷【含答案】
- 浙教版2023小學(xué)信息技術(shù)六年級上冊《人機(jī)對話的實現(xiàn)》說課稿及反思
評論
0/150
提交評論