2
respostas

erro 404 após mover arquivos para pasta WEB-INF

Olá pessoal, depois de seguir os passos da aula e mover os arquivos jsp para a pasta "webapp/WEB-INF/view/" não consigo mais acessar as ações pelo navegador, sempre da erro 404. Segui o mesmo código disponibilizado na transcrição da aula e antes de mover os arquivos estava funcionando normalmente. Já conferi e refiz os passos mas não consegui descobrir qual é o problema.

segue o código:

UnicaEntradaServlet.java

package br.com.alura.gerenciador.servlet;

import java.io.IOException;

import javax.servlet.RequestDispatcher; import javax.servlet.ServletException; import javax.servlet.annotation.WebServlet; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse;

import br.com.alura.gerenciador.acao.AlteraEmpresa; import br.com.alura.gerenciador.acao.ListaEmpresas; import br.com.alura.gerenciador.acao.MostraEmpresa; import br.com.alura.gerenciador.acao.NovaEmpresa; import br.com.alura.gerenciador.acao.NovaEmpresaForm; import br.com.alura.gerenciador.acao.RemoveEmpresa;

@WebServlet("/entrada") public class UnicaEntradaServlet extends HttpServlet { private static final long serialVersionUID = 1L;

protected void service(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

    String paramAcao = request.getParameter("acao"); 

    String nome = null;

    if(paramAcao.equals("ListaEmpresas")) {    

        ListaEmpresas acao = new ListaEmpresas();
        nome = acao.executa(request, response);

    } else if(paramAcao.equals("RemoveEmpresa")) {

        RemoveEmpresa acao = new RemoveEmpresa();
        nome = acao.executa(request, response);

    } else if(paramAcao.equals("MostraEmpresa")) {

        MostraEmpresa acao = new MostraEmpresa();
        nome = acao.executa(request, response);

    } else if (paramAcao.equals("AlteraEmpresa")) {

        AlteraEmpresa acao = new AlteraEmpresa();
        nome = acao.executa(request, response);

    } else if (paramAcao.equals("NovaEmpresa")) {

        NovaEmpresa acao = new NovaEmpresa();
        nome = acao.executa(request, response);
    } else if (paramAcao.equals("NovaEmpresaForm")) {

        NovaEmpresaForm acao = new NovaEmpresaForm();
        nome = acao.executa(request, response);
    } 

    String[] tipoEEndereco = nome.split(":");
    if(tipoEEndereco[0].equals("forward")) {
        RequestDispatcher rd = request.getRequestDispatcher("WEB-INF/view/" + tipoEEndereco[1]);
        rd.forward(request, response);
    } else {
        response.sendRedirect(tipoEEndereco[1]);

    }
}

}

listaEmpresas.java

package br.com.alura.gerenciador.acao;

import java.io.IOException; import java.util.List;

import javax.servlet.ServletException; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse;

2 respostas

veja se não esta ficando // depois do view e checa o valor que ta saindo nesse split. faz muuuuito tempo que nao trabalho com servlet e jsp. Mas acredito que nao precisa do web-inf no endereco. é apenas o view/

O erro provavelmente deve estar na String que compoe o tipoEEndereco[1]. Poderia depurar e ver o valor atribuido? Ou entao posta um codigo de uma action da qual está dando erro.