Olá amigos, bom dia!
Estou desenvolvendo uma aplicação web para rodar num ambiente weblogic. A aplicação funcionava normalmente, porém, de ontem para cá começou a apresentar um problema quando eu tento usar o método foward de um objeto RequestDispatcher…
O código da servlet é o seguinte:
try {
// Verifica se usuario e senha correspondem aos cadastrados na base de dados.
UsersDAO userDAO = new UsersDAO();
String nome = userDAO.validaLogin(user, password);
if(nome!= null && !nome.equals("") && nome.length()>0){
UserLogged usuario = UserLogged.getInstance();
usuario.setUsuario(user);
RequestDispatcher dispatcher = getServletContext().getRequestDispatcher("/Main.jsp");
dispatcher.forward(request, response);
return;
}else{
String msg = "Usuário/Senha invalido(s).";
request.setAttribute("Msg", msg);
RequestDispatcher dispatcher = getServletContext().getRequestDispatcher("/Login.jsp");
dispatcher.forward(request, response);
return;
}
} catch (Exception e) {
ExceptionUtils.printStackTrace("Erro ao efetuar o login", e);
}
Até semana passada, isso funcionava normalmente (na verdade, num servidor tomcat, ele funciona normalmente).
A exceção gerada é essa:
StackTrace para a Exception: javax.servlet.ServletException
Erro na classe weblogic.servlet.internal.ServletStubImpl No médoto execute Na linha: 321
Erro na classe weblogic.servlet.internal.ServletStubImpl No médoto execute Na linha: 175
Erro na classe weblogic.servlet.internal.RequestDispatcherImpl No médoto invokeServlet Na linha: 503
Erro na classe weblogic.servlet.internal.RequestDispatcherImpl No médoto forward Na linha: 245
Erro na classe com.telefonica.sirs.update.controller.LoginServlet No médoto doProcess Na linha: 56
Erro na classe com.telefonica.sirs.update.controller.LoginServlet No médoto doPost Na linha: 31
Erro na classe javax.servlet.http.HttpServlet No médoto service Na linha: 763
Erro na classe javax.servlet.http.HttpServlet No médoto service Na linha: 856
Erro na classe weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction No médoto run Na linha: 223
Erro na classe weblogic.servlet.internal.StubSecurityHelper No médoto invokeServlet Na linha: 125
Erro na classe weblogic.servlet.internal.ServletStubImpl No médoto execute Na linha: 283
Erro na classe weblogic.servlet.internal.ServletStubImpl No médoto execute Na linha: 175
Erro na classe weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction No médoto run Na linha: 3245
Erro na classe weblogic.security.acl.internal.AuthenticatedSubject No médoto doAs Na linha: 321
Erro na classe weblogic.security.service.SecurityManager No médoto runAs Na linha: 121
Erro na classe weblogic.servlet.internal.WebAppServletContext No médoto securedExecute Na linha: 2003
Erro na classe weblogic.servlet.internal.WebAppServletContext No médoto execute Na linha: 1909
Erro na classe weblogic.servlet.internal.ServletRequestImpl No médoto run Na linha: 1359
Erro na classe weblogic.work.ExecuteThread No médoto execute Na linha: 209
Erro na classe weblogic.work.ExecuteThread No médoto run Na linha: 181
O Stacktrace está aparecendo dessa forma porque o método printStackTrace() da classe Exception não funciona no weblogic, pois o mesmo usa como output o System.err.println() e, ao usar isso, nada é apresentado no log do weblogic.
Para resolver esse problema, criamos aqui uma classe utilitária que faz algo semelhante ao printStackTrace da classe Exception, porém, usando o System.out.println()…
Não sei oq pode ser esse problema.
Alguém tem alguma idéia?