Casa > C > Como Podemos Chamar O Método De Serviço Do Doget Ou Dopost No Servlet?

Como podemos chamar o método de serviço do doGet ou doPost no servlet?

O método service() pertence ao Genericservlet e pode ser sobrecarregado para suportar qualquer tipo de protocolo como Http,Ftp etc.

Então você tem um servlet especializado para lidar com o HttpProtocol, nós o chamamos de HttpServlet. O HttpServlet também fornece implementação padrão para os métodos service() e doGet() e doPost().

Por que não devemos substituir o método service()?

Since It'não é uma boa prática para substituir o método service. Se chamarmos qualquer um dos métodos doxxx então internamente ele irá chamar o método de serviço do HttpServlet. Portanto, não é necessário que você o chame explicitamente.

Order of Execution of service():

service(ServletRequest,ServletResponse)

-->calls

-->service(HttpServletRequest req,HttpServletResponse res)

-->calls

-->doGet/doPost(HttpServletRequest req,HttpServletResponse res)

This is how you can override the service in case you want to (code given by Tomasz Nurkiewicz from SO community Overriding HttpServlet service method ):

  1. protected void service(HttpServletRequest req, HttpServletResponse resp) {  
  2.  
  3. String method = req.getMethod();  
  4. if (method.equals(METHOD_GET)) {  
  5. doGet(req, resp);  
  6. }  
  7. else if (method.equals(METHOD_HEAD)) {  
  8. doHead(req, resp);  
  9. }  
  10. else if (method.equals(METHOD_POST)) {  
  11. doPost(req, resp);  
  12. }  
  13. else if (method.equals(METHOD_PUT)) {  
  14. doPut(req, resp);  
  15. }  
  16. else if (method.equals(METHOD_DELETE)) {  
  17. doDelete(req, resp);  
  18. }  
  19. else if (method.equals(METHOD_OPTIONS)) {  
  20. doOptions(req,resp);  
  21. } else if (method.equals(METHOD_TRACE)) {  
  22. doTrace(req,resp);  
  23. } else {  
  24. resp.sendError(HttpServletResponse.SC_NOT_IMPLEMENTED, errMsg);  
  25. }  

De Gunar Evelo

Porque não pode usar o GPS com o Google Maps offline? :: How to access an object from another method in Java