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则没有限制

  • 相关阅读:
    TFS2010安装方法及序列号
    SQL2005还原数据库3154错误
    HTML5 离线开发
    服务器缓存不依赖URL的方法(OutPutCache)及客户端不缓存,完美做法
    TFS2010映射工作区问题 路径 XXX 已在工作区 XXX;XXX 中映射
    解决:DropDownList的AutoPostBack=True不能触发SelectedIndexChanged事件
    SQL Server 2008 R2 RTM (32&64) 中文版 下载地址&序列号
    window.open 详解
    ADO.NET Entity Framework Extensions 示例应用
    Partial Output Caching in ASP.NET MVC
  • 原文地址:https://www.cnblogs.com/minideas/p/2108059.html
Copyright © 2011-2022 走看看