servlet中 service dopost doget方法之间的区别

service和dopost doget方法之间有什么区别?为什么我看有的代码中 是doget和dopost方法 然后有的代码中只有一个service方法?

不管是post还是get方法提交过来的连接,都会在service中处理,然后,由service来交由相应的doPost或doGet方法处理,如果你重写了service方法,就不会再处理doPost或doGet了。
温馨提示:内容为网友见解,仅供参考
第1个回答  2019-11-04
没什么区别,就是html表单提交的method是post的调dopost、get的调doget。
而一般情况下,无论哪种method提交的表单,处理都一样,所以只要写一个,在另一个里调这个就行了。
public
void
doget(httpsrevletrequest
request,
httpservletresponse
response)
{

逻辑实现
}
public
void
dopost(httpsrevletrequest
request,
httpservletresponse
response)
{

doget(request,
response);
}
第2个回答  推荐于2016-09-14
  Service是类GenericServlet中最重要的方法,每次客户向服务器发出请求时,服务器就会调用这个方法。程序员如果想对客户的请求进行响应的话就必须覆盖这个方法,并在这个方法中加入自己的代码来实现对客户的响应。
  Service有两个参数(ServletRequest和ServletResponse),ServletRequest保存了客户向服务器发送的请求,而ServletResponse用来设置如何对客户进行响应。
  init()方法(Servlet的两个生命周期函数之一,另一个是destroy())和service()方法的区别,当改变源程序而重新生成一个新的.class文件的时候,此时如果再次执行该Servlet,会发现执行的结果跟没做更改的时候一样,原因就是因为相同的Servlet的init只执行一次,所以在调试Servlet的时候要不断改变文件名和类名,或者重新启动服务(Tomcat或者JWS等)。
  就是说,init()方法仅在服务器装载Servlet时才由服务器执行一次,而每次客户向服务器发请求时,服务器就会调用Service()方法。
相似回答