电竞比分网-中国电竞赛事及体育赛事平台

分享

javax.servlet.http.HttpServlet doGet和doPost方法的簡(jiǎn)單介紹

 N_once 2007-07-17
javax.servlet.http.HttpServlet doGet和doPost方法的簡(jiǎn)單介紹
2007-03-03 09:24:57
javax.servlet.http.HttpServlet有以下幾種方法,注意幾乎都是protected的,就是說(shuō)要繼承javax.servlet.http.HttpServlet才可以使用這些方法。  
   
  protected     void   doDelete(HttpServletRequest   req,   HttpServletResponse   resp)    
  處理DELETE請(qǐng)求,允許一個(gè)客戶端刪除服務(wù)器上的一個(gè)文檔或頁(yè)面;  
  protected     void   doGet(HttpServletRequest   req,   HttpServletResponse   resp)    
  處理GET請(qǐng)求,顯式提交客戶端的信息,信息有長(zhǎng)度限制;  
  protected     void   doHead(HttpServletRequest   req,   HttpServletResponse   resp)    
  同GET方法,不過(guò)返回的相應(yīng)只有HEAD部分,沒(méi)有BODY部分;  
  protected     void   doOptions(HttpServletRequest   req,   HttpServletResponse   resp)    
  OPTIONS方法決定了服務(wù)器可以相應(yīng)哪些請(qǐng)求;  
  protected     void   doPost(HttpServletRequest   req,   HttpServletResponse   resp)    
  允許客戶端提交沒(méi)有長(zhǎng)度限制的數(shù)據(jù)信息;
 
  protected     void   doPut(HttpServletRequest   req,   HttpServletResponse   resp)     
  允許客戶端向服務(wù)器端發(fā)送一個(gè)文件,類似于ftp中的put指令;  
  protected     void   doTrace(HttpServletRequest   req,   HttpServletResponse   resp)  
  給客戶端返回發(fā)出的TRACE請(qǐng)求的頭部分,此方法一般用于測(cè)試,沒(méi)有必要覆寫(xiě);  
  protected     long   getLastModified(HttpServletRequest   req)    
  返回HttpServletRequest對(duì)象最后的修改時(shí)間,單位為毫秒,是從格林尼治標(biāo)準(zhǔn)時(shí)間的1970年1月1日零時(shí)開(kāi)始計(jì)算的;如果時(shí)間未知,返回一個(gè)負(fù)數(shù);  
  protected     void   service(HttpServletRequest   req,   HttpServletResponse   resp)    
  接收public   service方法發(fā)出的HTTP請(qǐng)求,并分配給doXXX方法;  
  void   service(ServletRequest   req,   ServletResponse   res)    
  分配客戶端請(qǐng)求給protected方法;  
   
  具體的細(xì)節(jié)說(shuō)明,請(qǐng)參見(jiàn)Java   Web   Services   Developer   Pack   1.0   Documentation
下邊是CSDN里邊的一些討論:
1.doGet和doPost的區(qū)別,在什么時(shí)候調(diào)用,為什么有時(shí)doPost中套用doGet
2.提交的form   method=Post就執(zhí)行DOPOST,否則執(zhí)行GOGET 套用是不管method是post還是get都執(zhí)行dopost方法
3.get:你可以通過(guò)URL傳參數(shù)。http://www.csdn.net/index.asp?user=1234   
                                                           ^---------  
  Post不行  
4.你的表單提交都有方法的,如果提交為get就調(diào)用get方法,用post就調(diào)用post方法.  
  get顯示你傳過(guò)去的參數(shù),post則不顯示.
5.通常的寫(xiě)法:先用doGet(),然后在doPost()中調(diào)用doGet(),這樣就萬(wàn)無(wú)一失了
6. 簡(jiǎn)單的說(shuō),get是通過(guò)http   header來(lái)傳輸數(shù)據(jù),有數(shù)量限制,而post則是通過(guò)http   body來(lái)傳輸數(shù)據(jù),沒(méi)有數(shù)量限制。
7.還有一點(diǎn):get和post提交的數(shù)據(jù)量是不一樣的.  
  get好像最多只能在url后跟64K(?具體多少忘記了),  
  post好像沒(méi)這個(gè)限制,至少我post過(guò)5M以上的文本    
  還有url刷新時(shí)get好像可以不用重復(fù)提交原來(lái)提交的數(shù)據(jù),  
  而post則會(huì)說(shuō)內(nèi)容已提交,想刷新請(qǐng)?jiān)偬峤?

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購(gòu)買(mǎi)等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類似文章 更多