http 里面的post和get区别是什么
servlet里面有个doget,dopost区别是什么,什么时候被调用

解决方案 »

  1.   

    http协议的格式主要有3中,get、post、head。
    head一般不用再servlet中,get和post都可以用于数据传递,都可以把数据传给服务器,不同的是,他们的数据在http包中的位置不同,一般,get方法的数据放在头部,直接在url里面给出,而post在专门的数据区,因此post能传递大量的数据,一般在表单中可以选择post或者get方法,用url直接传参默认使用get。因为有这样的不同,所以servlet中专门有doGet和doPost对应于这两种传参方式,比如url = www.xxxx.com?aaa=b这样的就是get方式传参,你要想得到aaa的值,必须重写doGet方法,从request中得到值,从post中是得不到的。
      

  2.   

    form表单有两种提交方式,如<form method="post/get"> 如果是以post提交,就执行servlet的post方法,如果是以get方式提交,就执行servlet的get方法.超链接的话,默认以get方式提交,也执行get方法.
      

  3.   

    a标签,浏览器直接访问是get请求,调用doget,form表单设置为post之后调用dopost,get请求带的所有的参数都在请求头内,post没有放在请求头内,而且get会将参数显示出来,而post不会,还有,有的浏览器用post请求的时候会请求服务器两次,第一次去的时候告诉服务器,我将要传输多大的数据过来,第二次过去就直接带数据过去了,而get只有一次!
      

  4.   

    调用:
    a标签,浏览器直接访问,都是get请求,调用doGet --
    form表单如果设置method="post"那么会调用doPost --
    总之如果是java在最底层都是调用的service方法;数据:
    get请求参数是放在请求头中的,长度有限制,根据浏览器设置决定,超过不会发送,直接丢掉;
    post请求参数是专门放在数据区,没有长度限制;请求次数:
    ------->根据浏览器不同决定
    get请求一次,直接将数据传递过去;
    post:有可能直接是一次将数据传递过去;还有一种可能就是2次,第一次过去告诉服务器我将要带
      多大数据过来,第二次直接将数据传递过去;显示与不显示
    get请求参数会显示在你的浏览器的地址栏;
    post请求参数不会显示在你的地址栏中;
      

  5.   

    GET 方法
    用于检索信息(如文档、图表或数据库请求结果)
    请求的页面可以被设置为书签和使用电子邮件发送
    请求信息作为查询字符串发送
    在浏览器中直接输入网址访问网页的时候,浏览器采用的就是get方法向服务器获取资源
    POST 方法
    用于发送敏感信息(如信用卡号)或要保存到数据库中的信息
    请求的页面不能设置为书签或不能通过电子邮件发送
    发送的数据没有大小限制