Nenhum mapeamento encontrado para solicitação HTTP com URI

Meu manipulador encaminha para internalresourceview ‘apiForm’, mas eu recebo o erro 404 RequestURI = / WEB-INF / pages / apiForm.jsp. Tenho certeza que o apiForm.jsp está localizado em / WEB-INF / pages /

13: 45: 02,034 DEBUG [org.springframework.web.servlet.view.JstlView] – Encaminhando para o recurso [/WEB-INF/pages/apiForm.jsp] em InternalResourceView ‘apiForm’
13: 45: 02,035 DEBUG [org.springframework.web.servlet.DispatcherServlet] – DispatcherServlet com o nome ‘testapp2’ determinando o valor da Última modificação para [/WEB-INF/pages/apiForm.jsp]
13: 45: 02,038 DEBUG [org.springframework.web.servlet.DispatcherServlet] – Nenhum manipulador encontrado em getLastModified
13: 45: 02,038 DEBUG [org.springframework.web.servlet.DispatcherServlet] – DispatcherServlet com o pedido de processamento name ‘testapp2’ para [/WEB-INF/pages/apiForm.jsp]
13: 45: 02,038 WARN [org.springframework.web.servlet.PageNotFound] – Nenhum mapeamento encontrado para solicitação HTTP com URI [/WEB-INF/pages/apiForm.jsp] em DispatcherServlet com o nome ‘testapp2’
13: 45: 02,045 DEBUG [org.springframework.web.servlet.DispatcherServlet] – Solicitação concluída com sucesso
13: 45: 02,048 DEBUG [org.springframework.web.servlet.DispatcherServlet] – Solicitação concluída com sucesso

é assim que meu dispatcher.xml se parece ..

     

Parece que o DispatcherServlet está tentando processar a solicitação para apiForm.jsp, o que sugere que seu mapeamento de servlet web.xml está direcionando solicitações para esse espaço para DispatcherServlet.

Você pode ter algo assim?

  dispatcher /*  

Tente chamar seus controladores com uma extensão diferente (.do por exemplo) e atualize o mapeamento de servlet para se adequar

   dispatcher *.do  

Sim, sei que estou atrasado para esta festa, mas isso pode ajudar os outros.

O contêiner de servlet escolhe o mapeamento com base no caminho mais longo correspondente. Portanto, você pode colocar esse mapeamento em seus JSPs e ele será escolhido no mapeamento / *.

  jsp /WEB-INF/pages/*  

Na verdade, para o Tomcat é tudo o que você precisará, já que o jsp é um servlet que existe fora da checkbox. Para outros contêineres, você precisa descobrir o nome do servlet JSP ou include uma definição de servlet como:

  jsp org.apache.jasper.servlet.JspServlet  

Basta adicionar à sua configuração do DispatcherServlet e pronto!

você obterá um No mapping found for HTTP request with URI erro de No mapping found for HTTP request with URI

se você digitalizou o pacote errado

por exemplo, seu controlador está em my.package.abc, mas você erroneamente colocou

ou

@ComponentScan("my.package.efg*")

que, no sentido, seu controlador não é escaneado para o contexto do aplicativo da web, quando a solicitação chega não apenas ao URL, mas a class inteira não é encontrada!

A solução que me ajudou foi: não mapear DispatcherServlet para /* , mapeá-lo para / . A configuração final é então:

  dispatcher org.springframework.web.servlet.DispatcherServlet  ...  1   dispatcher /  

Cheque simples pode ser feito. Atualmente, estou usando a arquitetura Spring MVC junto com o modo de hibernação. Eu sentia falta de escrever annotations do @Controller logo acima do nome da class. Isso estava causando o problema para mim.

 @Controller public class MyClass{ ... } 

Espero que esta simples verificação resolva seu problema.

Com o Spring 3.1 e o Tomcat 7, recebi o próximo erro:

org.springframework.web.servlet.DispatcherServlet noHandlerFound Nenhum mapeamento encontrado para solicitação HTTP com URI [/ baremvc /] em DispatcherServlet com o nome ‘appServlet’

E eu precisava adicionar à próxima configuração do web.xml:

    

E o aplicativo funcionou!

Acho que li toda a internet para descobrir como obter o sitemesh para lidar com meus caminhos html sem extensão + caminhos de API sem extensão. Eu estava enrolada em uma jaqueta reta imaginando isso, cada vez parecia quebrar alguma outra coisa. Então eu finalmente cheguei a este post.

  dispatcher org.springframework.web.servlet.DispatcherServlet 1   jsp org.apache.jasper.servlet.JspServlet   dispatcher /*   jsp /WEB-INF/views/*   jsp /WEB-INF/decorators/*  

Digite isso no seu dispatcher-servlet.xml

  

Eu tive o mesmo problema, claro que houve uma pequena diferença. A história foi que quando eu estava removendo a linha abaixo:

  

Tudo estava OK, mas na presença dessa linha, o mesmo erro aumenta.

Depois de algumas tentativas e erros, descobri que tenho que adicionar a linha abaixo ao meu arquivo de contexto do aplicativo de mola:

  

Espero que ajude!

Isso também pode acontecer quando o aplicativo não é compilado, mas ainda é lançado no Tomcat. Quando vi isso acontecer, não estava compilando porque o projeto tinha um JDK “específico do projeto” especificado, e o código foi verificado em uma máquina que não tinha esse JDK específico. O Eclipse assumiu como padrão um JRE, não um JDK, e o aplicativo não foi compilado.

Para corrigir isso em nosso caso específico, acabamos de desativar “Configurações específicas do projeto” aqui:

“Projeto | Propriedades | Compilador Java”

Veja mais informações detalhadas sobre como fazer isso: https://stackoverflow.com/a/2540730/26510

A mesma resposta que Brad Parks … mais texto

Eu tive exatamente o mesmo problema e tentei as soluções acima junto com muitas outras, todas com resultados negativos. Eu mesmo comecei com um novo e fresco Dev env e simplesmente instalei um spring-mvc-template e tentei executá-lo diretamente após a instalação (deve funcionar, mas falhou para mim)

Para mim, o problema era que eu estava usando o jdk1.6 no meu projeto, mas meu ambiente de execução selecionado no eclipse era jdk1.7. A solução foi alterar as configurações do ambiente de execução específico do projeto para que este projeto fosse definido como jdk1.6. Clique com o botão direito do mouse em project -> Properties -> Java Compiler -> Marque a opção “Enable project specific settings” se ainda não estiver marcada -> selecione o jdk apropriado (ou adicione se não estiver instalado).

Espero que isso ajude alguém e economize o tempo dessas pessoas, porque passei os últimos dias procurando a resposta em todos os cantos da Internet. Eu acidentalmente tropeço em mim mesmo quando comecei a ficar desesperado e procurar a solução em áreas onde (de acordo com o meu cérebro) era menos provável de ser encontrado. =)

Meus 2 centavos. Obrigado!

Editar1: usar configurações específicas do projeto

Edit2: Apenas percebeu Brad Parks já respondeu isso neste mesmo segmento. Bem, pelo menos eu peguei o “Editor” – que saiu desse aqui = D

Infelizmente, esta é uma mensagem de erro de class bastante ampla. Ainda outra coisa que poderia estar dando errado é se você está faltando algumas classs / flasks. Por exemplo, se estiver faltando o arquivo jar de expressão de mola , o servlet de distribuição não conseguirá localizar seu controlador, não importa o quanto você tente e como tudo está correto.

Eu encontrei este problema no Eclipse Luna EE. Minha solução foi simplesmente reiniciar o eclipse e magicamente começou a carregar o servlet corretamente.

O que você precisa é ter um controlador que responda primeiro ao url que renderiza seu jsp. Veja este link para uma solução .

“/ openStudentPage” é a página que eu quero abrir primeiro, eu fiz:

  @RequestMapping(value = "/", method = RequestMethod.GET) public String index(Model model) { return "redirect:/openStudentPage"; } @RequestMapping(value = "/openStudentPage", method = RequestMethod.GET) public String listStudents(Model model) { model.addAttribute("student", new Student()); model.addAttribute("listStudents", this.StudentService.listStudents()); return "index"; } 

altere o seu expedidor de nome de servlet para qualquer outro nome .porque o dispatcher é um nome predefinido para as versões spring3, spring4.

  ahok org.springframework.web.servlet.DispatcherServlet 1   ashok /