Problema com o rd.forward(request, response);

3 respostas
D

Olá… bom estou tendo um problema com uma consulta. Consigo carregar ela pro pra uma Collection no SessionEJB, ai é retornada pro Vector que tah no Servlet, mas na hora de dar o forward do request e do response cai em uma Exception
o erro que dá é
Cannot forward after response has been committed

o trecho onde eu acho q ocorre o erro…

private void query(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

HttpSession httpSession = null;

Context context = null;

RequestDispatcher rd = null;
String nome = request.getParameter("nome");
    String nomeMae = request.getParameter("mae");
    String rg = request.getParameter("rg");

    try {
        httpSession = request.getSession(false);

        context = new InitialContext();

        PessoaSessionHome pessoaSessionHome = (PessoaSessionHome) context.lookup(PessoaSessionHome.JNDI_NAME);
        PessoaSession pessoaSession = pessoaSessionHome.create();
        
    Vector pessoa = (Vector) viajanteSession.consultarViajante(nome, nomeMae, rg, orgao);

        request.setAttribute("pessoas", pessoas);
        request.setAttribute("servlet", "manterpessoa");

        rd = request.getRequestDispatcher("consultarPessoa.jsp");
    /*problema acontece na proxima linha*/
        rd.forward(request, response);

    } catch (Exception e) {
     ....
    }
}

obrigado… e se puderem me ajudar!

3 Respostas

M

Vc configurou a requisição certo?
Se atente para o contexto da requisição… :!:

M

Repara só… vc deve ter utilizado o response em algum lugar onde a requisição já foi enviada… e vc não poderá efetuar mais nenhum dispacho após isso!

D

por que então ele funciona para consulta pequena, por exemplo se for uma consulta com 10 da certo se tiver 20 pessoas nao dah mais, mas vou dar uma olhada nos responses… obrigado!

Criado 28 de janeiro de 2005
Ultima resposta 28 de jan. de 2005
Respostas 3
Participantes 2