Solucionado (ver solução)

Importante

Você está vendo a versão anterior da nova experiência da Alura que estamos preparando para você. Em breve, ela ganha uma identidade visual novinha totalmente pensada em potencializar seus estudos!

Solucionado
(ver solução)
14
respostas

Dúvida no Ex. 1 da Aula 4 - Enviando dados para a JSP

Quando tento acessar o endereço http://localhost:8080/contas/listaContas o seguinte erro acontece: Parece que está buscando uma jsp ao invés do Controller.

HTTP Status 404 - /contas/WEB-INF/views/listaContas.jsp

type Status report

message /contas/WEB-INF/views/listaContas.jsp

description The requested resource is not available.

Apache Tomcat/8.0.24

14 respostas

Aparentemente ele está indo no controller e tentando renderizar a resposta na página /contas/WEB-INF/views/listaContas.jsp.

Ele deveria mostrar a resposta nessa página?

Se sim, ela existe?

Por padrão, no Spring MVC, se você não diz qual é a view onde você vai renderizar o conteúdo, ele vai procurar um JSP com o mesmo nome do mapeamento atual.

Ele não deveria mostrar a resposta nessa página. A resposta está em: /contas/WEB-INF/views/conta/lista.jsp

Acessando por http://localhost:8080/contas/listaContas, era para passar pela lógica que se encontra no controller no seguinte mapeamento:

    @RequestMapping("/listaContas")
    public ModelAndView lista(){        
        ContaDAO dao = new ContaDAO();
        List<Conta> contas = dao.lista();

        ModelAndView mav = new ModelAndView("conta/lista");
        mav.addObject("contas", contas);

        return mav;        
    }

Mas quando tento aparece esse erro:

HTTP Status 404 - /contas/WEB-INF/views/listaContas.jsp

type Status report

message /contas/WEB-INF/views/listaContas.jsp

description The requested resource is not available.

Apache Tomcat/8.0.24

listaContas é o mapeamento sem o jsp, direto para a lógica para depois ser direcionada para conta/lista.jsp. Não entendo porque isso está acontecendo.

'''@RequestMapping("/listaContas") public ModelAndView lista(){ ContaDAO dao = new ContaDAO(); List contas = dao.lista();

ModelAndView mav = new ModelAndView("conta/lista"); mav.addObject("contas", contas);

return mav; } '''

Seu código está correto.

Como está a configuração do seu ViewResolver?

Coloca também o caminho completo para esse jsp.

Você fez mais alguma configuração de direcionamento ou mapeamento? Se sim coloca aqui também.

'''

''' A configuração está dessa maneira. Não fiz nenhuma alteração. O estranho é que o formulário também está no mesmo diretório, e é aceito normalmente. É como se o mapeamento estivesse limitado. Como devo colocar o caminho completo para essa jsp??

'''

'''

Não estou conseguindo enviar o código dentro dos backticks.

E nem fora deles. Me passa seu e-mail para eu enviar uma imagem.

Oi Welber,

Posta o seu ViewResolver aqui! Ou coloca o código no github para vermos!

Boa tarde!!

segue o link do GitHub para o código:

https://github.com/welbih007/Teste/blob/master/spring-context.xml

Tomara que eu não tenha me enganado.

Oi Welber, tudo bem?

Parece tudo certo com seu spring-context.xml

Pode postar seu web.xml?

Abraços!

solução!

Verifique seu import da ModelAndView, tive o mesmo problema e troquei para este:

import org.springframework.web.servlet.ModelAndView;

..e funcionou.

Obrigado, galera! A resposta do Adilson S. Utiama deu certo. Obrigado.

Valeu galera. Também tive problemas no import.