Java Web程序設(shè)計(慕課版 第3版)-基于SSM 課件 第6章 Servlet技術(shù)_第1頁
Java Web程序設(shè)計(慕課版 第3版)-基于SSM 課件 第6章 Servlet技術(shù)_第2頁
Java Web程序設(shè)計(慕課版 第3版)-基于SSM 課件 第6章 Servlet技術(shù)_第3頁
Java Web程序設(shè)計(慕課版 第3版)-基于SSM 課件 第6章 Servlet技術(shù)_第4頁
Java Web程序設(shè)計(慕課版 第3版)-基于SSM 課件 第6章 Servlet技術(shù)_第5頁
已閱讀5頁,還剩26頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

第6章Servlet技術(shù)01Servlet基礎(chǔ)02Servlet開發(fā)03Servlet常用的接口和類04Servlet過濾器1

Servlet基礎(chǔ)Servlet與Servlet容器Servlet是使用JavaServlet接口(API)運行在Web應用服務器上的Java程序。Servlet容器也就是指Web容器,如Tomcat、Jboss、Resin、WebLogic等,它們對Servlet進行控制。Servlet技術(shù)特點Servlet技術(shù)特點方便、實用的API方法高效的處理方式跨平臺更加靈活、擴展安全性Servlet與JSP的區(qū)別Servlet承擔客戶請求與業(yè)務處理的中間角色,需要調(diào)用固定的方法,將動態(tài)內(nèi)容混合到靜態(tài)之中產(chǎn)生HTML;而在JSP頁面中,可直接使用HTML標簽進行輸出,要比Servlet更具顯示層的意義。Servlet中需要調(diào)用ServletAPI接口處理HTTP請求,而在JSP頁面中,則直接提供了內(nèi)置對象進行處理。Servlet的使用需要進行一定的配置,而JSP文件通過“.jsp”擴展名部署在容器之中,容器對其自動識別,直接編譯成Servlet進行處理。Servlet代碼結(jié)構(gòu)//初始化方法publicvoidinit()throwsServletException{}//處理HTTPGet請求publicvoiddoGet(HttpServletRequestrequest,HttpServletResponseresponse)throwsServletException,IOException{}//處理HTTPPost請求publicvoiddoPost(HttpServletRequestrequest,HttpServletResponseresponse)throwsServletException,IOException{}//處理HTTPPut請求publicvoiddoPut(HttpServletRequestrequest,HttpServletResponseresponse)throwsServletException,IOException{}//處理HTTPDelete請求publicvoiddoDelete(HttpServletRequestrequest,HttpServletResponseresponse)throwsServletException,IOException{}//銷毀方法publicvoiddestroy(){super.destroy();}此處代碼顯示了一個Servlet對象的代碼結(jié)構(gòu),TestServlet類通過繼承HttpServlet類被聲明為一個Servlet對象。此類中包含6個方法,其中init()方法與destroy()方法為Servlet初始化與生命周期結(jié)束所調(diào)用的方法,其余的4個方法為Servlet針對處理不同的HTTP請求類型所提供的方法,其作用如注釋中所示。2 Servlet開發(fā)Servlet開發(fā)1.創(chuàng)建一個動態(tài)Web項目,然后在包資源管理器中,新建項目名稱節(jié)點上,單擊鼠標右鍵,在彈出的快捷菜單中,選擇“新建”/Servlet菜單項,將打開CreateServlet對話框,在該對話框的Javapackage文本框中輸入包com.mingrisoft,在ClassName文本框中輸入類名FirstServlet,其他的采用默認,如圖所示。Servlet開發(fā)2.單擊“下一步”按鈕,進入到如圖5-4所示的指定配置Servlet部署描述信息頁面,在該頁面中采用默認設(shè)置。Servlet開發(fā)3.單擊“下一步”按鈕,將進入到如圖5-5所示的用于選擇修飾符、實現(xiàn)接口和要生成的方法的對話框。在該對話框中,修飾符和接口保持默認,在“繼承的抽象方法”復選框中選中doGet和doPost復選框,單擊“完成”按鈕,完成Servlet的創(chuàng)建。Servlet配置1.聲明Servlet對象<servlet><servlet-name>SimpleServlet</servlet-name><servlet-class>com.lyq.SimpleServlet</servlet-class></servlet>Servlet配置2.映射Servlet<servlet-mapping><servlet-name>SimpleServlet</servlet-name><url-pattern>/SimpleServlet</url-pattern></servlet-mapping>3

Servlet常用的接口和類Servlet接口方

法說

明publicvoidinit(ServletConfigconfig)Servlet實例化后,Servlet容器調(diào)用此方法來完成初始化工作publicvoidservice(ServletRequestrequest,

ServletResponseresponse)此方法用于處理客戶端的請求publicvoiddestroy()當Servlet對象應該從Servlet容器中移除時,容器調(diào)用此方法,以便釋放資源publicServletConfiggetServletConfig()此方法用于獲取Servlet對象的配置信息,返回ServletConfig對象publicStringgetServletInfo()此方法返回有關(guān)Servlet的信息,它是純文本格式的字符串,如作者、版本等Servlet接口中的方法及說明Servlet接口方

法說

明publicStringgetInitParameter(Stringname)此方法返回String類型名稱為name的初始化參數(shù)值publicEnumerationgetInitParameterNames()獲取所有初始化參數(shù)名的枚舉集合publicServletContextgetServletContext()用于獲取Servlet上下文對象publicStringgetServletName()返回Servlet對象的實例名ServletConfig接口Servlet接口方

法說

明publicStringgetContextPath()返回請求的上下文路徑,此路徑以“/”開關(guān)publicCookie[]getCookies()返回請求中發(fā)送的所有cookie對象,返回值為cookie數(shù)組publicStringgetMethod()返回請求所使用的HTTP類型,如get、post等publicStringgetQueryString()返回請求中參數(shù)的字符串形式,如請求MyServlet?username=mr,則返回username=mrpublicStringgetRequestURI()返回主機名到請求參數(shù)之間部分的字符串形式publicStringBuffergetRequestURL()返回請求的URL,此URL中不包含請求的參數(shù)。注意此方法返回的數(shù)據(jù)類型為StringBufferpublicStringgetServletPath()返回請求URI中的Servlet路徑的字符串,不包含請求中的參數(shù)信息publicHttpSessiongetSession()返回與請求關(guān)聯(lián)的HttpSession對象HttpServletRequest接口Servlet接口方

法說

明publicvoidaddCookie(Cookiecookie)向客戶端寫入cookie信息publicvoidsendError(intsc)發(fā)送一個錯誤狀態(tài)碼為sc的錯誤響應到客戶端publicvoidsendError(intsc,Stringmsg)發(fā)送一個包含錯誤狀態(tài)碼及錯誤信息的響應到客戶端,參數(shù)sc為錯誤狀態(tài)碼,參數(shù)msg為錯誤信息publicvoidsendRedirect(Stringlocation)使用客戶端重定向到新的URL,參數(shù)location為新的地址HttpServletResponse接口GenericServlet類publicabstractclassGenericServletextendsObjectimplementsServlet,ServletConfig,SerializableGenericServlet類是一個抽象類,分別實現(xiàn)了Servlet接口與ServletConfig接口。此類實現(xiàn)了除service()之外的其他方法,在創(chuàng)建Servlet對象時,可以繼承GenericServlet類來簡化程序中的代碼,但需要實現(xiàn)service()方法。HttpServlet類publicabstractclassHttpServletextendsGenericServletimplementsSerializableHttpServletdoGet()doPost()doPut()doHead()doTrace()doOptions()doDelete()在這7個方法中,除了對doTrace()方法與doOptions()方法進行簡單實現(xiàn)外,HttpServlet類并沒有對其他方法進行實現(xiàn),需要開發(fā)人員在使用過程中根據(jù)實際需要對其進行重寫。HttpServlet類繼承了GenericServlet類,通過其對GenericServlet類的擴展,可以很方便地對HTTP請求進行處理及響應。4

Servlet過濾器什么是過濾器?Servlet過濾器是客戶端與目標資源間的中間層組件,用于攔截客戶端的請求與響應信息什么是過濾器?Servlet過濾器是客戶端與目標資源間的中間層組件,用于攔截客戶端的請求與響應信息過濾器接口Filter接口方

法說

明publicvoidinit(FilterConfigfilterConfig)過濾器的初始化方法,容器調(diào)用此方法完成過濾的初始化。對于每一個Filter實例,此方法只被調(diào)用一次publicvoiddoFilter(ServletRequestrequest,

ServletResponseresponse,FilterChainchain)此方法與Servlet的service()方法相類似,當請求及響應交給過濾器時,過濾器調(diào)用此方法進行過濾處理publicvoiddestroy()在過濾器生命周期結(jié)束時調(diào)用此方法,用于釋放過濾器所占用的資源過濾器接口FilterChain接口voiddoFilter(ServletRequestrequest,ServletResponseresponse)throwsIOException,ServletException此方法主要用于將過濾器處理的請求或響應傳遞給下一個過濾器對象。在多個過濾器的Web應用中,可以通過此方法進行傳遞。過濾器接口FilterConfig接口方

法說

明publicStringgetFilterName()返回過濾器的名稱publicStringgetInitParameter(Stringname)返回初始化名稱為name的參數(shù)值publicEnumerationgetInitParameterNames()返回所有初始化參數(shù)名的枚舉集合publicServletContextgetServletContext()返回Servlet的上下文對象過濾器的配置(1)聲明過濾器對象<filter><filter-name>CharacterEncodingFilter</filter-name><filter-class>com.lyq.util.CharacterEncodingFilter</filter-class><init-param><param-name>encoding</param-name><param-value>GBK</param-value></init-param></filter>過濾器的配置(2)映射過濾器<filter-mapping><filter-name>CharacterEncodingFilter</filter-name><url-pattern>/*</url-pattern><dispatcher>REQUEST</

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論