zoukankan      html  css  js  c++  java
  • 【转】doGet/doPost

    service()是在javax.servlet.Servlet接口中定义的, 在 javax.servlet.GenericServlet 中实现了这个接口, 而 doGet/doPost 则是在 javax.servlet.http.HttpServlet 中实现的, javax.servlet.http.HttpServlet 是 javax.servlet.GenericServlet 的子类. 所有可以这样理解, 其实所有的请求均首先由 service() 进行处理, 而在 javax.servlet.http.HttpServlet 的 service() 方法中, 主要做的事情就是判断请求类型是 Get 还是 Post, 然后调用对应的 doGet/doPost 执行.

    doGet:处理GET请求

    doPost:处理POST请求

    doPut:处理PUT请求

    doDelete:处理DELETE请求

    doHead:处理HEAD请求

    doOptions:处理OPTIONS请求

    doTrace:处理TRACE请求

    通常情况下,在开发基于HTTP的servlet时,开发者只需要关心doGet和doPost方法,其它的方法需要开发者非常的熟悉HTTP编程,因此这些方法被认为是高级方法。

    而通常情况下,我们实现的servlet都是从HttpServlet扩展而来。 doPut和doDelete方法允许开发者支持HTTP/1.1的对应特性; doHead是一个已经实现的方法,它将执行doGet但是仅仅向客户端返回doGet应该向客户端返回的头部的内容; doOptions方法自动的返回servlet所直接支持的HTTP方法信息; doTrace方法返回TRACE请求中的所有头部信息。

    GET vs POST

    1、安全

    GET调用在URL里显示正传送给SERVLET的数据,这在系统的安全方面可能带来问题,例如用户名和密码等

    POST就可以在一定程度上解决此类问题

    2、服务器接收方式

    服务器随机接受GET方法的数据,一旦断电等原因,服务器也不知道信息是否发送完毕

    而POST方法,服务器先接受数据信息的长度,然后再接受数据

    3、form运行方式

    当form框里面的method为get时,执行doGet方法
    当form框里面的method为post时,执行doPost方法

    4、容量限制

    GET方法后面的信息量字节大小不要超过1.3K

    POST则没有限制

  • 相关阅读:
    Linux进阶之正则,shell三剑客(grep,awk,sed),cut,sort,uniq
    生成下拉列表
    获取服务器时间
    Web窗体(WebForm)
    Session
    Cookie
    Server属性
    Response缓冲区
    小案例
    Web窗体(WebForm)的删除和修改
  • 原文地址:https://www.cnblogs.com/minideas/p/2108059.html
Copyright © 2011-2022 走看看