我想,我们不能在任何特定的servlet中覆盖service()
方法。那么httpservlet service method
的目的是什么?
答案 0 :(得分:5)
从**service method ()**
只有您的实际方法(获取,发布...等)决定致电。
HTTP servlet中的默认service()方法将请求路由到基于HTTP传输方法(POST和GET)的另一个方法。例如,HTTP POST请求被路由到doPost()方法,HTTP GET请求被路由到doGet()方法。此路由使servlet能够根据传输方法执行不同的请求数据处理。因为路由发生在service(),中,所以不需要覆盖HTTP servlet中的service()。相反,根据预期的请求类型覆盖doGet()和doPost()。
答案 1 :(得分:2)
servlet service()方法,执行确定已调用方法的任务,即get / post / trace / head / options / put / delete。这些是“七大”方法,因为它们是最常用的方法。
在确定实际调用的方法之后,它会将任务委托给相应的方法。
您可以使用,
public void doGet(javax.servlet.http.HttpServletRequest request,
javax.servlet.http.HttpServletResponseresponse)
throws javax.servlet.ServletException,java.io.IOException {...}
,或者
public void doPost(javax.servlet.http.HttpServletRequest request,
javax.servlet.http.HttpServletResponseresponse)
throws javax.servlet.ServletException,java.io.IOException {...}
代替,
public void service(javax.servlet.ServletRequest request,
javax.servlet.ServletResponseresponse)
throws javax.servlet.ServletException,java.io.IOException {...}