zhy985619 2011-05-12 16:11
浏览 210
已采纳

关于doGet和doPost

问题是这样的:
我用myEclipse自动生成一个servlet,什么代码也没有写!我只是想测试一下tomcat是怎么调用doGet和doPost的,前提,我没有生成任何表单!!
情况一:代码没做任何修改,运行tomcat,浏览器显示正常!
情况二:注释整个doPost方法,浏览器显示正常!
情况三:注释整个doGet方法,浏览器显示错误!!!!!(为什么tomcat不能单独调用doPost方法)
情况四:doGet和doPost互相调用,浏览器显示正常!

哪位大侠能解释以上述出现的情况,主要是第三个!!!(没有表单提交)
求详解,不能复制网上的答案!!!

积分全给!!!

  • 写回答

10条回答 默认 最新

  • fmjsjx 2011-05-12 16:43
    关注

    [quote]fmjsjx 写道
    从浏览器键入URL时,浏览器会通过HTTP的GET请求连接服务器,到servlet时就会调用doGet方法,这个不是说默认调用doGet方法,而是浏览器的连接请求是GET请求。当通过某个页面的表单请求时,就要看表单的请求类型是POST还是GET了(其实还有其他的HTTP请求类型,不过现在基本都弃之不用了)。

    高人,能否用源代码说明你的答案!! [/quote]
    ……
    我无语了,看仔细了:
    Servlet的实现没有默认方法这一说,HTTP请求是GET请求就调用doGet(),是POST就调用doPost()。
    从浏览器键入URL来访问网站的请求都是GET请求,只有HTML一面的表单提交是POST时才会是POST请求,这和源码没有任何关系,而是HTTP协议以及HTML规范的要求!
    你键入URL来访问网站当然是GET请求,自然要调用doGet()。
    ……

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(9条)

报告相同问题?

悬赏问题

  • ¥20 有关区间dp的问题求解
  • ¥15 多电路系统共用电源的串扰问题
  • ¥15 slam rangenet++配置
  • ¥15 有没有研究水声通信方面的帮我改俩matlab代码
  • ¥15 对于相关问题的求解与代码
  • ¥15 ubuntu子系统密码忘记
  • ¥15 信号傅里叶变换在matlab上遇到的小问题请求帮助
  • ¥15 保护模式-系统加载-段寄存器
  • ¥15 电脑桌面设定一个区域禁止鼠标操作
  • ¥15 求NPF226060磁芯的详细资料