RequestDispatcher - Problemas no Weblogic

0 respostas
V

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?

Criado 6 de janeiro de 2009
Respostas 0
Participantes 1