Problema com Tomcat[RESOLVIDO]

Pessoal, boa noite.
Tentarei ser o mais direto possível…
Ontem postei uma dúvida sobre como “travar” o acesso de umas páginas jsp via url. Um colega nosso me indicou, visto que minha aplicação é simples, colocar essas jsp’s dentro da pasta WEB-INF. Até aí, tudo perfeito. Funcionou uma beleza. Hoje, instalei o tomcat para rodá-lo independente da ajuda do IDE NetBeans, tal como é no servidor. Peguei o arquivo .war e coloquei dentro da webapps do tomcat. O problema é, ao chamar o servlet que dispacha a requisição após autenticar o usuário no login e senha (algo como getServletContext().getRequestDispatcher("/WEB-INF/painelAdmin.jsp").forward(request, response);) ele me retorna um erro do tipo:

java.lang.IllegalStateException: Cannot forward after response has been committed
	br.com.mapacomercial.servlets.ControladorAcesso.processRequest(ControladorAcesso.java:27)
	br.com.mapacomercial.servlets.ControladorAcesso.doPost(ControladorAcesso.java:55)
	javax.servlet.http.HttpServlet.service(HttpServlet.java:710)
	javax.servlet.http.HttpServlet.service(HttpServlet.java:803)

Não faço a minima do que seja. Quando dou o deploy pelo netBeans da certo. Será que pode ser algo como permissão de acesso ao diretório?
Alguém me de uma luz!
Abraços!

Cara… se tu puder postar o código inteiro da servlet seria melhor…

Porque o que acontece é o seguinte: Quando se faz o despacho em uma servlet, ou mesmo um redirecionamento utilizando o sendRedirect do response, ou um flush no OutputStream/PrintWriter do response, é realizado o commit desta. Ou seja, dois redirecionamentos consecutivos(por exemplo), causaria um erro assim.

Amigo, tá ai o código…

package br.com.mapacomercial.servlets;

import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

public class ControladorAcesso extends HttpServlet {

    protected void processRequest(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
        //
        String login = request.getParameter("login");
        String senha = request.getParameter("senha");
        //String parametro = request.getParameter("autenticacao");

        if (login.equals("") || (login.trim().equals("")) || senha.equals("") || (senha.trim().equals(""))) {
            request.setAttribute("erro", "Informe Login e Senha");
        }else if(!login.equals("admin")||(!senha.equals("senhaadmin"))){
            request.setAttribute("erro", "Login e/ou senha incorretos!");
        }
        else if (login.equals("admin") && (senha.equals("senhaadmin"))) {
            getServletContext().getRequestDispatcher("/WEB-INF/painelAdmin.jsp").forward(request, response);
        }

        getServletContext().getRequestDispatcher("/login.jsp").forward(request, response);

    }

Agora é como falei: no NetBeans funciona beleza.

O problema ocorre quando vc usa o login admin?
Se sim, isso é causado por que eles está tentando dar dispatcher 2 vezes.
Eu acho que faltou um else na linha 25.

Olá amigo! O problema principal foi solucionado com sua dica! Ele aceita o admin e a senha e dispacha para o painelAdmin.jsp.
Agora depois que adicionei o else na linha 25 ele não entra nas autenticações feitas nas linhas 18 a 21. Dispacha para uma página em branco.

Tenta assim

[code] if (login.equals("") || (login.trim().equals("")) || senha.equals("") || (senha.trim().equals(""))) {
request.setAttribute(“erro”, “Informe Login e Senha”);
getServletContext().getRequestDispatcher("/login.jsp").forward(request, response);
}else if(!login.equals(“admin”)||(!senha.equals(“senhaadmin”))){
request.setAttribute(“erro”, “Login e/ou senha incorretos!”);
getServletContext().getRequestDispatcher("/login.jsp").forward(request, response);
}
else if (login.equals(“admin”) && (senha.equals(“senhaadmin”))) {
getServletContext().getRequestDispatcher("/WEB-INF/painelAdmin.jsp").forward(request, response);
}

    [/code]

Pow velho, obrigadão!
Deu certo!
Era somente erro de sintaxe?
Estranho dar certo no NetBeans e não no servidor “puro”, se é que posso chamar assim. De qualquer forma, mais uma vez agradeço. Abraço, Deus os abençoe!

Era erro de lógica, erro de sintaxe o programa nem roda.
Vai ver que funcionava no netbeans por que vc testava de forma diferente do que vc testou quando deu erro.
Pelo seu código vc tinha que fazer no minimo 4 testes diferentes para cobrir todo.