servlet中的doGet()和doPost()方法的区别

我对SERVLET中的doGet与doPost两个方法之间的区别:
1.它们分别在什么情况下用?
2.它们能互相调用吗?还是只能其中一个调用另一个?
---------------------------------------------------------------

缺省的服务功能会调用与 HTTP 请求方法相应的 doXXX 方法。例如,若 HTTP 请求的方法是 GET,则缺省情况下调用 doGet() 方法。Servlet程序应该优先使用Servlet程序所支持的 doXXX 方法,以替代 HTTP 方法。

---------------------------------------------------------------

get和post这是http协议的两种方法,另外还有head, delete等
这两种方法有本质的区别,get只有一个流,参数附加在url后,大小个数有严格限制且只能是字符串。post的参数是通过另外的流传递的,不通过url,所以可以很大,也可以传递二进制数据,如文件的上传。
在servlet开发中,以doGet()和doPost()分别处理get和post方法。
另外还有一个doService(), 它是一个调度方法,当一个请求发生时,首先执行doService(),不管是get还是post。在HttpServlet这个基类中实现了一个角度,首先判断是请求时get还是post,如果是get就调用doGet(), 如果是post就调用doPost()。你也可以直接过载doService()方法,这样你可以不管是get还是post。都会执行这个方法。
---------------------------------------------------------------

1.通过表单提交到的servlet,看form的method是get还是post
2.通过链接<a href...>访问的servlet,doGet
3.直接在ie地址栏中键入的servlet地址,doGet

一般只要实现一个doGet,再另外一个doPost里面调用doGet(resq,resp),resq和resd是doPost的参数.
---------------------------------------------------------------

可以互相调用.
doGet() 和doPost()方法,前者处理你表单提交来的method=get的请求,后者处理method=post 的请求

你可能感兴趣的:(servlet,IE)