区别这几个方法可以从servlet生命周期来看:
实例化:Web容器创建servlet实例;
初始化:Web容器调用实例的init()方法,
此时servlet就做好准备来响应请求了,
如果此时有个http请求servlet,那个servlet的service()方法就会被调用,
在service()方法中会根据请求的类型来调用doGet(),doPost()方法,
因此,我们具体的操作代码一般都放在doGet()或doPost()方法中

解决方案 »

  1.   

    form中method为get就调doGet(),为post就调doPost(),但可以用service()方法代替这二者,servlet会自动判断处理
      

  2.   

    补充。不必在自己的Servlet中override service()方法,这个方法在父类中的实现就是根据form中method="post/get"的内容自动调用doPost()和doGet()方法的。如果你的Servlet中只实现了doGet(),而表单的提交method="post",提交后就会出现类似“...不支持post方法"的错误提示。可以在doGet()中简单写doPost(request,response);,并在doPost()中具体实现
      

  3.   

    如果一个servlet中重载了service()方法,那么这个重载的方法还会不会自动判断是执行doGet()还是doPost()呢?
      

  4.   

    get请求调用doget(),post请求调用dopost(),不指定调用service()(前提是没有前两个方法,一般用这个,可是有时候get or post请求的内容不一样的时候,应提供dopost and doget 比如说在url中有用户的信息什么的)