日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

java servlet拾遗(1)-Servlet总揽

發(fā)布時間:2025/3/20 编程问答 21 豆豆
生活随笔 收集整理的這篇文章主要介紹了 java servlet拾遗(1)-Servlet总揽 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

2019獨角獸企業(yè)重金招聘Python工程師標準>>>

一、總的來看:java servlet API 類框圖

(1)、Servlet Api的核心是javax.servlet.Servlet接口,包括5個方法,3個方法由Servlet容器來調(diào)用

  • public void init(ServletConfig config) throws ServletException; ?初始化資源,容器啟動的時候
  • public void service(ServletRequest req, ServletResponse res)?

?throws ServletException, IOException; ? 負責請求,并進行業(yè)務處理,并返回響應

  • public void destroy(); 負責釋放Servlet對象占用的資源。當Servlet結束對象時,調(diào)用該方法。

另外兩個是返回Servlet的相關信息的方法

  • public ServletConfig getServletConfig(); ?返回一個ServletConfig?對象,包含了Servlet初始化參數(shù)信息
  • public String getServletInfo(); 返回一些簡要的Servlet文本信息

?

(2)、GenericServlet 抽象類實現(xiàn)了Servlet接口的通用方法,屏蔽了網(wǎng)絡應用層協(xié)議,還實現(xiàn)了ServletConfig ?和Serializable接口。個人覺得意義不大,并沒有什么卵用。

?

(3)、javax.servlet.http.HttpServlet類 ,顧名思義,是基于http協(xié)議通用實現(xiàn)

  • 好像暫且也只有這么一個協(xié)議層,并沒有什么TcpServlet,UdpServlet等等之類的Servlet,當然了,Servlet的創(chuàng)建者高瞻遠慮,還是值得崇拜的
  • 在自定義的Http協(xié)議的,基于javaWeb開發(fā)的應用中,都繼承HttpServlet類。
  • http協(xié)議把客戶請求get,post,put,delete等多種方式,而HttpServlet則通過重載protected void service(HttpServletRequest req, HttpServletResponse resp)??throws ServletException, IOException把每一種請求方式都提供了相應的服務方法,我們只要繼承該方法,即可提供相應的http協(xié)議方法給客戶端。如圖領略一些:

(4)、javax.servlet.ServletRequest接口,表示客戶端的請求,當Servlet容器接收客戶的請求時,Servlet容器把客戶端的請求都解析并封裝到ServletRequest對象,供Servlet對象調(diào)用service()方法時使用

?

(5)、javax.servlet.http.HttpServletRequest 顧名思義,就是基于http協(xié)議的客戶端的請求信息,主要包括http協(xié)議里的

  • 請求header信息,包括編碼,長度,響應類型等等
  • 請求的body信息
  • 請求cookie信息
  • 請求的方法
  • 而繼承于ServletRequest的public ServletInputStream getInputStream() throws IOException; ,則是其他方法的數(shù)據(jù)源頭

(6)、javax.servlet.ServletResponse 接口,表示響應給客戶端的結果,主要是調(diào)用

  • public ServletOutputStream getOutputStream() throws IOException; ?通過該方法,輸出給客戶端響應的二進制信息
  • public PrintWriter getWriter() throws IOException; 直接輸出文本類信息
  • public void flushBuffer() throws IOException;最后都要調(diào)用該方法,把緩沖區(qū)內(nèi)的數(shù)據(jù)全部輸出到客戶端

?

(7)、javax.servlet.http.HttpServletResponse 基于http協(xié)議的響應接口,對應HttpServletRequest ?,包括返回給客戶端的header,body,cookie,當然還有基于cookie的回話。

?

(8)、javax.servlet.ServletConfig 接口 主要是作為配置參數(shù)用,也可以自定義配置文件代替

?

(9)、javax.servlet.ServletContext 接口?

  • Servlet啟動時創(chuàng)建,且盡創(chuàng)建一個ServletContext對象
  • web應用的總管家
  • 用于在Web應用范圍內(nèi) 存取共享數(shù)據(jù)的方法
  • 訪問當前Web應用的資源
  • 訪問Servlet容器中的其他web應用
  • 訪問服務器端的文件系統(tǒng)資源
  • 日志輸出

?

?

?

?

?

?

轉(zhuǎn)載于:https://my.oschina.net/haoran100/blog/712496

總結

以上是生活随笔為你收集整理的java servlet拾遗(1)-Servlet总揽的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。