rcarauta 27 de set. de 2012
Já tentou utilizar assim?
protected void doPost ( HttpServletRequest request , HttpServletResponse response )
throws ServletException , IOException {
processRequest ( request , response );
try {
PrintWriter out = response . getWriter ();
String cmd = request . getParameter ( "cmd" );
if ( cmd . equalsIgnoreCase ( "cadastro" )){
contato . setNome ( request . getParameter ( "nome" ));
contato . setLogin ( request . getParameter ( "login" ));
contato . setSenha ( request . getParameter ( "senha" ));
// chamando o metodo salvar , passando o obj
contato2 . salvar ( contato );
response . sendRedirect ( "/index.jsp" ); // usar / index . jsp
}
} catch ( NumberFormatException e ) {
}
}
Outra questão o sistema ela ta persistindo certinho no banco de dados?
rcarauta 27 de set. de 2012
Se o problema for o response.redirect tenta usa esse comando
protected void doPost ( HttpServletRequest request , HttpServletResponse response )
throws ServletException , IOException {
processRequest ( request , response );
try {
PrintWriter out = response . getWriter ();
String cmd = request . getParameter ( "cmd" );
if ( cmd . equalsIgnoreCase ( "cadastro" )){
contato . setNome ( request . getParameter ( "nome" ));
contato . setLogin ( request . getParameter ( "login" ));
contato . setSenha ( request . getParameter ( "senha" ));
// chamando o metodo salvar , passando o obj
contato2 . salvar ( contato );
RequestDispatcher dispatcher = request . getRequestDispatcher ( "/index.jsp" );
dispatcher . forward ( request , response );
}
} catch ( NumberFormatException e ) {
}
}
Hebert_Coelho 27 de set. de 2012
Após o sendRedirect, não acontece nada?
rogelgarcia 27 de set. de 2012
Tente isso:
response.sendRedirect(request.getContextPath()+"/index.jsp");
Não use forward após salvar o registro.
marcello315 28 de set. de 2012
rogelgarcia:
Tente isso:
response.sendRedirect(request.getContextPath()+"/index.jsp");
Não use forward após salvar o registro.
amigo, não sei o pq não funciona, já tentei tudo que vcs falaram e nada. Ta persistindo normal no banco, inclusive estou usando esse comando acima no metodo processRequest e tá funcionando. Segue código:
protected void processRequest ( HttpServletRequest request , HttpServletResponse response )
throws ServletException , IOException {
response . setContentType ( "text/html;charset=UTF-8" );
PrintWriter out = response . getWriter ();
try {
String cmd = request . getParameter ( "cmd" );
if ( cmd . equalsIgnoreCase ( "apagar" )){
contato . setIdusuario ( Integer . parseInt ( request . getParameter ( "idusuario" )));
contato2 . excluir ( contato );
response . sendRedirect ( "index.jsp" ); // ESTA FUNCIONANDO
}
} finally {
out . close ();
}
}
protected void doPost ( HttpServletRequest request , HttpServletResponse response )
throws ServletException , IOException {
processRequest ( request , response );
try {
PrintWriter out = response . getWriter ();
String cmd = request . getParameter ( "cmd" );
if ( cmd . equalsIgnoreCase ( "cadastro" )){
contato . setNome ( request . getParameter ( "nome" ));
contato . setLogin ( request . getParameter ( "login" ));
contato . setSenha ( request . getParameter ( "senha" ));
// chamando o metodo salvar , passando o obj
contato2 . salvar ( contato );
// RequestDispatcher dispatcher = request . getRequestDispatcher ( "/index.jsp" );
// dispatcher . forward ( request , response );
response . sendRedirect ( request . getContextPath () + "/index.jsp" ); // NAO ESTA FUNCIONANDO
// response . sendRedirect ( "index.jsp" ); // NAO ESTA FUNCIONANDO
}
} catch ( NumberFormatException e ) {
}
}
Não sei pq não funciona. Obrigado pela ajuda!
marcello315 28 de set. de 2012
Isso, não acontece nada!!!
Não sei pq não funciona, já tentei tudo que vcs falaram e nada. Ta persistindo normal no banco, inclusive estou usando esse comando acima no metodo processRequest e tá funcionando. Segue código:
protected void processRequest ( HttpServletRequest request , HttpServletResponse response )
throws ServletException , IOException {
response . setContentType ( "text/html;charset=UTF-8" );
PrintWriter out = response . getWriter ();
try {
String cmd = request . getParameter ( "cmd" );
if ( cmd . equalsIgnoreCase ( "apagar" )){
contato . setIdusuario ( Integer . parseInt ( request . getParameter ( "idusuario" )));
contato2 . excluir ( contato );
response . sendRedirect ( "index.jsp" ); // ESTA FUNCIONANDO
}
} finally {
out . close ();
}
}
protected void doPost ( HttpServletRequest request , HttpServletResponse response )
throws ServletException , IOException {
processRequest ( request , response );
try {
PrintWriter out = response . getWriter ();
String cmd = request . getParameter ( "cmd" );
if ( cmd . equalsIgnoreCase ( "cadastro" )){
contato . setNome ( request . getParameter ( "nome" ));
contato . setLogin ( request . getParameter ( "login" ));
contato . setSenha ( request . getParameter ( "senha" ));
// chamando o metodo salvar , passando o obj
contato2 . salvar ( contato );
// RequestDispatcher dispatcher = request . getRequestDispatcher ( "/index.jsp" );
// dispatcher . forward ( request , response );
response . sendRedirect ( request . getContextPath () + "/index.jsp" ); // NAO ESTA FUNCIONANDO
// response . sendRedirect ( "index.jsp" ); // NAO ESTA FUNCIONANDO
}
} catch ( NumberFormatException e ) {
}
}
Não sei pq não funciona. Obrigado pela ajuda!
gomesrod 28 de set. de 2012
Se não vai fazer nada com o objeto out nem mexa nele… nem pegue sua referência pelo response.getWriter
Fiquei um pouco cismado se esse close() não estaria impedindo o envio da resposta de REDIRECT.
E mais uma dica: procure uma boa ferramenta de diagnóstico do browser (por exemplo, Firebug ou Developer Tools do IE9). Elas costumam ter uma aba “Network” onde você monitora as requisições; veja se o POST retornou com o status de redirect (status 302 - MOVED, algo assim…) , e a URL de redirecionamento correta.
marcello315 28 de set. de 2012
gomesrod:
Se não vai fazer nada com o objeto out nem mexa nele… nem pegue sua referência pelo response.getWriter
Fiquei um pouco cismado se esse close() não estaria impedindo o envio da resposta de REDIRECT.
E mais uma dica: procure uma boa ferramenta de diagnóstico do browser (por exemplo, Firebug ou Developer Tools do IE9). Elas costumam ter uma aba “Network” onde você monitora as requisições; veja se o POST retornou com o status de redirect (status 302 - MOVED, algo assim…) , e a URL de redirecionamento correta.
Bingo!!! É isso mesmo, o o método close() tá impedindo o Redirect.
Obrigado a todos e em especial ao gomesrod.