.net 专家

住在上海

导航

servlet get 和 post 的区别

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  的请求  

posted on 2005-05-07 11:13  bobomail  阅读(3243)  评论(7编辑  收藏  举报