Erro ao submitar formulario

7 respostas
foxpv

Galera é o seguinte, to com um problema bem chato aqui q n consigo resolver nem fud*.
Eu tenho um formulário bem grande, e quando eu do um submit nele, da o seguinte erro:

javax.servlet.ServletException: Servlet execution threw an exception
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:275)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
	at com.mcp.base.filter.HibernateFilter.doFilter(HibernateFilter.java:73)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178)
	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126)
	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105)
	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107)
	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148)
	at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:869)
	at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:664)
	at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:527)
	at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:80)
	at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:684)
	at java.lang.Thread.run(Thread.java:595)

quando eu tiro uma parte do jsp, aí volta a funcionar, porém, eu não to conseguindo ver na parte que eu tirei, qual o motivo do erro. Alguém sabe o que pode causar essa exceção?
obrigado desde já!

7 Respostas

rodrigoallemand

Cara, o erro parece estar no seu doFilter, do HibernateFilter…
Porte o código pra tentarmos avaliar melhor…

OBS: Submitar é verbo novo, do inglês submit?!? Tipo deletar do delete?!?

jgbt

poste o causedBy da exceptiion e as urls que vc ta tentando usar e ta dando erro.

[]´s

foxpv

Código do doFilter:

public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) 
    throws IOException, ServletException
    {
    	
    	// setando enconding que aceita caracteres especiais
    	request.setCharacterEncoding("latin1");
    	
    	//controlando transação
        Session session = null;
        Transaction tx = null;
        try {
        	if (request instanceof HttpServletRequest){
        		
        		HttpServletRequest httpServletRequest = (HttpServletRequest) request;
        		HttpSession sessao = httpServletRequest.getSession(false);	
        		
			    String uri = httpServletRequest.getRequestURI();

        		session = DaoBase.getInstance().getSession();
	            tx = session.beginTransaction();
	            logger.debug("Iniciando Transação");
	            request.setAttribute("HibernateTransaction", tx);
	            request.setAttribute("HibernateSession", session);
        		//sessao = null;
	            if ((uri.indexOf("Login") != -1) || (uri.indexOf("Loggof") != -1) || (uri.indexOf("mail.gif") != -1) ){ 
        			chain.doFilter(httpServletRequest, response);
        		} else if(sessao == null){
        			HttpServletResponse httpServletResponse = (HttpServletResponse) response;        			
    	            sessao = httpServletRequest.getSession();
    	            sessao.setAttribute("expirada", "true");
        			httpServletResponse.sendRedirect("../index.jsp");
        		}else{
        			chain.doFilter(httpServletRequest, response);
        		}
        	}
	  
		} catch (Exception e) {
			tx.rollback();
			logger.error("Exceção capturada no filter: " + e.getMessage(), e);
			e.printStackTrace();
		}finally{
			try {
		        if(!tx.wasRolledBack())
		        	tx.commit();
				DaoBase.getInstance().closeSession();
			} catch (HibernateException e) {
				logger.error("Exceção capturada no filter, ao fechar a conexao: " + e.getMessage(), e);
				e.printStackTrace();
			}
		}
    }

jgbt
aí que ta, a exceção não tem caused by.
a url requisitada é a seguinte:
/projeto/servlet/cliente

jgbt

blz, mas em qual linha ta dando erro??

[]´s

foxpv

na linha 33…

jgbt

cara,
coloca um try/catch so p/ essa linha e ve se imprime o causedBy, tenta capturar Throwable se precisar.

[]´s

foxpv

cara… tipo eu pus o try catch lah assim:

try{
        				chain.doFilter(httpServletRequest, response);
        			}
        			catch(Exception e){
        				e.printStackTrace();
        			}

apareceu a mesma exceção, só que em vez de dois stack traces apareceu um só, e nada de causedBy :frowning:

Criado 26 de dezembro de 2007
Ultima resposta 26 de dez. de 2007
Respostas 7
Participantes 3