servlet中的service()方法,get和post方式

        service() 方法是執行實際任務的主要方法。Servlet 容器(即 Web 服務器)調用 service() 方法來處理來自客戶端(瀏覽器)的請求,並把格式化的響應寫回給客戶端。本質上Service()方法纔是servlet中真正用於處理請求的方法!!!!

      每次服務器接收到一個 Servlet 請求時,服務器會產生一個新的線程並調用服務。service() 方法檢查 HTTP 請求類型(GET、POST、PUT、DELETE 等),並在適當的時候調用 doGet、doPost、doPut,doDelete 等方法。

     

       service() 方法由容器調用,service 方法在適當的時候調用 doGet、doPost、doPut、doDelete 等方法。所以,您不用對 service() 方法做任何動作,您只需要根據來自客戶端的請求類型來重寫 doGet() 或 doPost() 即可。

 

       doGet() 方法

       GET 請求來自於一個 URL 的正常請求,或者來自於一個未指定 METHOD 的 HTML 表單,它由 doGet() 方法處理。

      

     

   

     doPost() 方法

     POST 請求來自於一個特別指定了 METHOD 爲 POST 的 HTML 表單,它由 doPost() 方法處理。

    

       很多情況下,需要傳遞一些信息,從瀏覽器到 Web 服務器,最終到後臺程序瀏覽器使用兩種方法可將這些信息傳遞到 Web 服務器,分別爲 GET 方法和 POST 方法

                http://www.test.com/hello?key1=value1&key2=value2

       GET 方法是默認的從瀏覽器向 Web 服務器傳遞信息的方法,它會產生一個很長的字符串,出現在瀏覽器的地址欄中。如果您要向服務器傳遞的是密碼或其他的敏感信息,請不要使用 GET 方法。GET 方法有大小限制:請求字符串中最多隻能有 1024 個字符。

       另一個向後臺程序傳遞信息的比較可靠的方法是 POST 方法。POST 方法打包信息的方式與 GET 方法基本相同,但是 POST 方法不是把信息作爲 URL 中 ? 字符後的文本字符串進行發送,而是把這些信息作爲一個單獨的消息。消息以標準輸出的形式傳到後臺程序,您可以解析和使用這些標準輸出。Servlet 使用 doPost() 方法處理這種類型的請求。

     destroy() 方法:

       destroy() 方法只會被調用一次,在 Servlet 生命週期結束時被調用。而servlet的生命週期是在服務器關閉的時候結束的,也就是在servlet被初始化到服務器關閉之前,中間的過程都是servlet的生命週期,因爲這樣servlet就可以一直接收來自客戶端的請求,而不用一直打開關閉打開關閉。就像開店一樣,只要早上開一下,晚上回家以後關一下就好了,中間可以一直開着。

       destroy() 方法可以讓您的 Servlet 關閉數據庫連接、停止後臺線程、把 Cookie 列表或點擊計數器寫入到磁盤,並執行其他類似的清理活動。

       在調用 destroy() 方法之後,servlet 對象被標記爲垃圾回收。destroy 方法定義如下所示:

     

 

 

Javaweb當中對Servlet中的doget和dopost方法的簡單使用

上述爲一個jsp文件代碼。

通過href超鏈接進行請求的訪問時,將會採用get方式將數據信息發送到所制定的Servlet對象當中的doGet方法中來進行數據的處理操作

form表當中設置了提交的方法爲post方式進行請求的發送之後,請求數據將會同過制定的Servlet方法當中的dopost方法來進行數據的請求操作

 

上述爲一個Servlet程序代碼,在該代碼當中進行了doget和dopost方法的重寫操作。用於處理客戶端所發來的get類型的請求和post類型的請求。

 

Servlet是實現了javax.servlet.Servlet接口的類,這個接口規定了特定的方法來處理特定的請求,我們只需要實現Servlet相關的方法,Servlet規範是建立在HTTP協議上的,http1.1規範支持OPTIONS/GET/POST/HEAD/PUT/DELETE/TRACE等7種訪問方式。下面我們重點介紹Get/Post。

GET:表示查詢信息,URL中附帶少量參數信息,URL總長度不超過255個字符,參數還會在瀏覽器的地址欄中顯示

POST:表示提交信息,一般用於提交大數據信息或者文件,提交的內容不收長度限制,也不會在地址欄中顯示。

     (可以結合下面http中的get和post請求方式來看)

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章