分享

javax.servlet.http.HttpServlet doGet和doPost方法的简单介绍

 N_once 2007-07-17
javax.servlet.http.HttpServlet doGet和doPost方法的简单介绍
2007-03-03 09:24:57
javax.servlet.http.HttpServlet有以下几种方法,注意几乎都是protected的,就是说要继承javax.servlet.http.HttpServlet才可以使用这些方法。  
   
  protected     void   doDelete(HttpServletRequest   req,   HttpServletResponse   resp)    
  处理DELETE请求,允许一个客户端删除服务器上的一个文档或页面;  
  protected     void   doGet(HttpServletRequest   req,   HttpServletResponse   resp)    
  处理GET请求,显式提交客户端的信息,信息有长度限制;  
  protected     void   doHead(HttpServletRequest   req,   HttpServletResponse   resp)    
  同GET方法,不过返回的相应只有HEAD部分,没有BODY部分;  
  protected     void   doOptions(HttpServletRequest   req,   HttpServletResponse   resp)    
  OPTIONS方法决定了服务器可以相应哪些请求;  
  protected     void   doPost(HttpServletRequest   req,   HttpServletResponse   resp)    
  允许客户端提交没有长度限制的数据信息;
 
  protected     void   doPut(HttpServletRequest   req,   HttpServletResponse   resp)     
  允许客户端向服务器端发送一个文件,类似于ftp中的put指令;  
  protected     void   doTrace(HttpServletRequest   req,   HttpServletResponse   resp)  
  给客户端返回发出的TRACE请求的头部分,此方法一般用于测试,没有必要覆写;  
  protected     long   getLastModified(HttpServletRequest   req)    
  返回HttpServletRequest对象最后的修改时间,单位为毫秒,是从格林尼治标准时间的1970年1月1日零时开始计算的;如果时间未知,返回一个负数;  
  protected     void   service(HttpServletRequest   req,   HttpServletResponse   resp)    
  接收public   service方法发出的HTTP请求,并分配给doXXX方法;  
  void   service(ServletRequest   req,   ServletResponse   res)    
  分配客户端请求给protected方法;  
   
  具体的细节说明,请参见Java   Web   Services   Developer   Pack   1.0   Documentation
下边是CSDN里边的一些讨论:
1.doGet和doPost的区别,在什么时候调用,为什么有时doPost中套用doGet
2.提交的form   method=Post就执行DOPOST,否则执行GOGET 套用是不管method是post还是get都执行dopost方法
3.get:你可以通过URL传参数。http://www.csdn.net/index.asp?user=1234   
                                                           ^---------  
  Post不行  
4.你的表单提交都有方法的,如果提交为get就调用get方法,用post就调用post方法.  
  get显示你传过去的参数,post则不显示.
5.通常的写法:先用doGet(),然后在doPost()中调用doGet(),这样就万无一失了
6. 简单的说,get是通过http   header来传输数据,有数量限制,而post则是通过http   body来传输数据,没有数量限制。
7.还有一点:get和post提交的数据量是不一样的.  
  get好像最多只能在url后跟64K(?具体多少忘记了),  
  post好像没这个限制,至少我post过5M以上的文本    
  还有url刷新时get好像可以不用重复提交原来提交的数据,  
  而post则会说内容已提交,想刷新请再提交.

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多