servlet服务方法的目的

时间:2014-07-18 09:23:45

标签: java java-ee servlets

我想,我们不能在任何特定的servlet中覆盖service()方法。那么httpservlet service method的目的是什么?

2 个答案:

答案 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 {...}