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
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.