關於httpServlet.service()步驟

來源:互聯網
上載者:User

標籤:容器   post請求   提交   注意   servlet   添加   通過   解釋   定向   

關於httpServlet.service()步驟

關於()方法
  1、HTTP Servlet 使用一個 HTML 表格來發送和接收資料。要建立一個 HTTP Servlet,就需要擴充 HttpServlet 類,該類是用專門的方法來處理 HTML 表格的 GenericServlet 的一個子類。當表單資訊被提交時,會指定伺服器應執行哪一個Servlet(或其它的程式)。HttpServlet 類包含 init()、destroy()、service() 等方法,其中 init() 和 destroy() 方法是繼承的.
2、HTTP Servlet 的service() 方法

service() 方法是 Servlet 的核心。

每當一個客戶請求一個HttpServlet 對象,該對象的service() 方法就要被調用,而且傳遞給這個方法一個"請求"(ServletRequest)對象和一個"響應"(ServletResponse)對象作為參數。

在 HttpServlet 中已存在 service()方法.預設的服務功能是調用與 HTTP 要求的方法相應的 do 功能。
例如,如果 HTTP 要求方法為 GET,則預設情況下就調用 doGet()。

service方法是介面中的方法,servlet容器把所有請求發送到該方法,該方法預設行為是轉寄http請求到doXXX方法中,如果你重載了該方法,預設操作被覆蓋,不再進行轉寄操作!
service()是在javax.servlet.Servlet介面中定義的, 在 javax.servlet.GenericServlet中實現了這個介面, 而 doGet/doPost 則是在 javax.servlet.http.HttpServlet 中實現的, javax.servlet.http.HttpServlet 是javax.servlet.GenericServlet 的子類.

Servlet 應該為 Servlet 支援的 HTTP 方法覆蓋 do 功能.因為HttpServlet.service() 方法會檢查要求方法是否調用了適當的處理方法,不必要覆蓋 service() 方法。只需覆蓋相應的 do 方法就可以了。

當一個客戶通過HTML 表單發出一個HTTP POST請求時,doPost()方法被調用。與POST請求相關的參數作為一個單獨的HTTP請求從瀏覽器發送到伺服器。當需要修改伺服器端的資料時,應該使用doPost()方法。
當一個客戶通過HTML 表單發出一個HTTP GET請求或直接請求一個URL時,doGet()方法被調用。與GET請求相關的參數添加到URL的後面,並與這個請求一起發送。當不會修改伺服器端的資料時,應該使用doGet()方法。

我們也需要把Servlet做成既能處理GET請求,也能夠處理POST請求(eg:Servlet要處理GET和POST兩種請求)這隻需要在doPost方法中調用doGet方法,或者覆蓋 service方法(service方法調用doGet、doPost、doHead等方法)在實際編程中這是一種標準的方法,因為它只需要很少的額外工作,卻能夠增加用戶端編碼的靈活性。
注意:一般會在service()中實現對父類方法的同參數表重載,即寫上super.service(req, resp);
     即使有了service()方法,也要把doGet()和doPost()方法標識出來!!
(我得要請教一下~~)


Servlet的響應可以是:
一個輸出資料流,瀏覽器根據它的內容類型(如text/HTML)進行解釋;
一個HTTP錯誤響應, 重新導向到另一個URL,servlet,JSP

關於httpServlet.service()步驟

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.