[quote=kikokairos]Salve pessoal!
O problema é que passando valores em uma form usando o POST na servlet eu geralmente uso o doPost, porém para minha supresa descobri que o request.getParameter está com valor nulo. Ao mudar na servlet a lógica para o ProcessRequest observei que o valores estão sendo passados normalmente, por que?
Dúvidas relacionadas:
[list]Se tanto o GET e o POST podem usar o ProcessRequest, porque usar os métodos ‘do’? Vi muita gente recomendo usar ela diretamente.[/list]
[list]Se uso o out.println no final sempre tenho que fechar usando o out.close?[/list]
Acho que solucionando estas dúvidas conseguirei, caso contrário, irei postar meu código para sugestões. Obg!
[/quote]
Carinha, pelo que entendi, você está trabalhando com Servlets na unha, certo? Bom, o que eu entendi que você está fazendo é uma aplicação do design pattern “FrontController”. http://java.sun.com/blueprints/corej2eepatterns/Patterns/FrontController.html
O problema, carinha, é o seguinte: os métodos doGet e doPost são overrides necessários de HttpServlet se você quiser que sua servlet responda a métodos get e post.
http://docs.oracle.com/javaee/1.3/api/javax/servlet/http/HttpServlet.html
Então, esse “processRequest” é um handler genético que os métodos doGet e doPost usam para ter um processamento genérico do request, não importando o método, seja get ou post.
Sem usar os métodos “do” você não consegue redirecionar para o método “processRequest”.
Dá uma olhada aí se por um acaso você não está mandando dados do form por Get ao invés de post.
Quanto ao out.close: ele é necessário pelo seguinte: se você não der o close, o browser do outro lado da linha vai continuar achando que tem mais coisa pra mandar, e vai ficar goiaba.