Qual metodo utilizar? doGet e doPost ou service

Olá galera to com uma duvida.

Qual método devo utilizar para construir o meu Servelts para receber as requisições, os metodos doGet e doPost, ou o metodo service???
Tem diferença entre os métodos service() ou doGet/Post???

Abraços

Get:
Só pode enviar até 255 caracteres de informações
As informações vão como parte da URL (não indicado para senha)
O browser ou proxy faz o cache da página pela URL
Feito quando uma URL é digitada, via um link ou por um form de método GET

Post:
Pode enviar conteúdo ilimitado de informações
Pode enviar texto e binário (ex: arquivos)
O browser ou proxy não fazem o cache da página pela URL
Feito por um form de método POST

Ja o Service funciona com tudo dos outros 2.

Em algum lugar da net eu vi alguem dizendo q o “service” é melhor pq faz o doGet e o doPost juntos…
Já no livro da “Deitel” ele diz q eh melhor evitar o uso do “service” tratar o Get e o Post separados…

mas eu acho isso vai do caso
Se vc quiser q um servlet receba só get, ou só receba post, ou trate os 2 diferentemente, use o doGet/doPost, senão use “service”

Outra observação é q o doGet/doPost tem como parâmentros objetos do tipo HttpServletRequest e HttpServletResponse, já o service tem ServletRequest e ServletResponse…

Flw

o aconselhado é você sobrescrever apenas o doGet e/ou doPost.
você pode simular o service assim:

.... doGet(......){
    tratarRequisicao(req, res);
}

.... doPost(......){
    tratarRequisicao(req, res);
}

... tratarRequisicao(req, res){
  //faz algo
}

blz!
marcelo_mococa mas pq eh mais aconselhavel?

um dos motivos é o que você citou. O método service recebe um ServletRequest e não um HttpServletRequest.

segundo a especificação, o service é o responsável por direcionar a requisição para o método específico (doGet, doPost, doPut, etc…).

O que irá acontecer se você sobrescrever o service e alguém fazer uma requisição put para o servlet? Ele irá tratar o put como sendo um get ou post.

Por isso é aconselhável sobrescrever somente os métodos que seu servlet sabe tratar.

Use a solução que eu disse acima no caso da requisição post e get terem o mesmo tratamento.