Kein mapping gefunden für den HTTP-request mit dem URI in DispatcherServlet nach dem hinzufügen eines crudrepositority
Meine Feder-server richtig arbeitet (einfache Website, die eine googlemap). Aber wenn ich hinzufügen ein crudrepository (und natürlich ein @Entity), die die Anwendung nicht finden, die gleiche URI, vor der Arbeit war. Wie kann ich dieses Problem beheben?
Ein Stück von den system-Ausgang:
16:32:29.737 [690530332@qtp-1564826387-0] DEBUG o.s.b.f.s.DefaultListableBeanFactory - Erstellung Abgeschlossen Instanz der bean 'org.springframework.web.- servlet.Unterstützung.SessionFlashMapManager'
16:32:29.737 [690530332@qtp-1564826387-0] DEBUG o.s.web.- servlet.DispatcherServlet - Nicht zu finden FlashMapManager mit dem Namen 'flashMapManager': mit Standard - [org.springframework.web.servlet.support.SessionFlashMapManager@186fc102]
16:32:29.738 [690530332@qtp-1564826387-0] DEBUG o.s.b.f.s.DefaultListableBeanFactory - Rückkehr zwischengespeicherte Instanz der singleton-bean 'serverProperties'
16:32:29.739 [690530332@qtp-1564826387-0] DEBUG o.s.b.f.s.DefaultListableBeanFactory - Rückkehr zwischengespeicherte Instanz der singleton-bean 'managementServerProperties'
16:32:29.739 [690530332@qtp-1564826387-0] DEBUG o.s.c.e.PropertySourcesPropertyResolver - Suche für Schlüssel 'Feder.liveBeansView.mbeanDomain' in [servletConfigInitParams]
16:32:29.739 [690530332@qtp-1564826387-0] DEBUG o.s.c.e.PropertySourcesPropertyResolver - Suche für Schlüssel 'Feder.liveBeansView.mbeanDomain' in [servletContextInitParams]
16:32:29.739 [690530332@qtp-1564826387-0] DEBUG o.s.c.e.PropertySourcesPropertyResolver - Gefundene Schlüssel 'Feder.liveBeansView.mbeanDomain' in [servletContextInitParams] Typ [String] und mit dem Wert 'dev'
16:32:29.751 [690530332@qtp-1564826387-0] DEBUG o.s.web.- servlet.DispatcherServlet - Veröffentlicht WebApplicationContext servlet 'Probe' als ServletContext Attribut mit dem Namen [org.springframework.web.- servlet.FrameworkServlet.KONTEXT.Beispiel]
16:32:29.751 [690530332@qtp-1564826387-0] INFO o.s.web.- servlet.DispatcherServlet - FrameworkServlet 'sample': Initialisierung abgeschlossen 7745 ms
16:32:29.751 [690530332@qtp-1564826387-0] DEBUG o.s.web.- servlet.DispatcherServlet - Servlet 'Probe' erfolgreich konfiguriert
16:32:29.757 [690530332@qtp-1564826387-0] DEBUG o.s.web.- servlet.DispatcherServlet - DispatcherServlet mit dem Namen 'Beispiel' processing GET-Anforderung für [/mapa/Hallo]
16:32:29.759 [690530332@qtp-1564826387-0] DEBUG o.s.w.s.m.m.ein.RequestMappingHandlerMapping - nachschlagen-handler-Methode für Pfad /Hallo
16:32:29.761 [690530332@qtp-1564826387-0] DEBUG o.s.w.s.m.m.ein.RequestMappingHandlerMapping - nicht zu finden, die handler-Methode für [/Hallo]
16:32:29.761 [690530332@qtp-1564826387-0] DEBUG o.s.b.ein.e.mvc.EndpointHandlerMapping - nachschlagen-handler-Methode für Pfad /Hallo
16:32:29.762 [690530332@qtp-1564826387-0] DEBUG o.s.b.ein.e.mvc.EndpointHandlerMapping - nicht zu finden, die handler-Methode für [/Hallo]
16:32:29.762 [690530332@qtp-1564826387-0] WARNEN o.s.web.- servlet.PageNotFound - Kein mapping gefunden für den HTTP-request mit dem URI [/mapa/Hallo] in DispatcherServlet mit dem Namen 'Beispiel'
16:32:29.772 [690530332@qtp-1564826387-0] DEBUG o.s.web.- servlet.DispatcherServlet - Erfolgreich abgeschlossene Anfrage
Application.java
@EnableAutoConfiguration
@EntityScan(basePackageClasses=palmaslab.mapas.repository.PostoSaude.class)
@EnableJpaRepositories(basePackageClasses =palmaslab.mapas.repository.PostoSaudeRepository.class/*.PostoSaudeRepository.class*/)
@EnableWebMvc
@Configuration
@ComponentScan(basePackages="palmaslab.mapas.controller")
public class Application {
@Bean
public InternalResourceViewResolver viewResolver() {
InternalResourceViewResolver resolver = new InternalResourceViewResolver();
resolver.setPrefix("/WEB-INF/view/");
resolver.setSuffix(".jsp");
return resolver;
}
@Bean
public MultipartConfigElement multipartConfigElement() {
MultiPartConfigFactory factory = new MultiPartConfigFactory();
factory.setMaxFileSize("256KB");
factory.setMaxRequestSize("256KB");
return factory.createMultipartConfig();
}
public static void main(String[] args) {
SpringApplication.run(Application.class, args);
}
}
MyController
@Controller
public class myController {
@Autowired
private PostoSaudeRepository PostosSaude;
//get postos!!
@RequestMapping("hello")
public ModelAndView showMessage(
@RequestParam(value = "name", required = false, defaultValue = "World") String name) {
ModelAndView mv = new ModelAndView("mapa");
// mv.addObject("postossaude", PostosSaude.findAll());
return mv;
}}
PostoSaudeRepository
public interface PostoSaudeRepository extends CrudRepository<PostoSaude,Long> {
public PostoSaude findById(long id);
}
PostoSaude (Entity)
@Entity
public class PostoSaude {
@Id
@GeneratedValue(strategy=GenerationType.AUTO)
private long id;
private String nome_posto_saude;
private double latitude;
private double longitude;
private String endereco;
private String barrio_ou_nome_municipio; //aqui se coloca o nome do municipio, por exemplo Caucaia, o String cidade nesse caso ficará vazio ""
private String cidade;
private String estado;
private String pais;
public PostoSaude()
{}
public PostoSaude(String nome_posto_saude, String endereco,String barrio_ou_nome_municipio,String cidade, String estado, String pais)
{
this.nome_posto_saude = nome_posto_saude;
this.endereco = endereco;
this.barrio_ou_nome_municipio = barrio_ou_nome_municipio;
this.cidade = cidade;
this.estado = estado;
this.pais = pais;
}
public String getBarrio_ou_nome_municipio() {
return barrio_ou_nome_municipio;
}
public void setBarrio_ou_nome_municipio(String barrio_ou_nome_municipio) {
this.barrio_ou_nome_municipio = barrio_ou_nome_municipio;
}
public String getCidade() {
return cidade;
}
public void setCidade(String cidade) {
this.cidade = cidade;
}
public String getEstado() {
return estado;
}
public void setEstado(String estado) {
this.estado = estado;
}
public String getPais() {
return pais;
}
public void setPais(String pais) {
this.pais = pais;
}
public String getNome_posto_saude() {
return nome_posto_saude;
}
public void setNome_posto_saude(String nome_posto_saude) {
this.nome_posto_saude = nome_posto_saude;
}
public double getLatitude() {
return latitude;
}
public void setLatitude(double d) {
this.latitude = d;
}
public double getLongitude() {
return longitude;
}
public void setLongitude(double d) {
this.longitude = d;
}
public String getEndereco() {
return endereco;
}
public void setEndereco(String endereco) {
this.endereco = endereco;
}
public long getId() {
return id;
}
@Override
public int hashCode() {
//Google Guava provides great utilities for hashing
return Objects.hashCode(nome_posto_saude, endereco, cidade);
}
@Override
public boolean equals(Object obj) {
if (obj instanceof PostoSaude) {
PostoSaude other = (PostoSaude) obj;
//Google Guava provides great utilities for equals too!
return Objects.equal(nome_posto_saude, other.nome_posto_saude)
&& Objects.equal(endereco, other.endereco)
&& cidade == other.cidade;
} else {
return false;
}
}
}
web.xml
<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web- app_2_5.xsd">
<servlet>
<servlet-name>sample</servlet-name>
<servlet-class>
org.springframework.web.servlet.DispatcherServlet
</servlet-class>
<init-param>
<param-name>contextClass</param-name>
<param-value> org.springframework.web.context.support.AnnotationConfigWebApplicationContext </param-value>
</init-param>
<init-param>
<param-name>contextConfigLocation</param-name>
<param-value>palmaslab.mapas.config</param-value>
</init-param>
</servlet>
<servlet-mapping>
<servlet-name>sample</servlet-name>
<url-pattern>/</url-pattern>
</servlet-mapping>
<context-param>
<param-name>spring.profiles.active</param-name>
<param-value>dev</param-value>
</context-param>
<context-param>
<param-name>spring.profiles.default</param-name>
<param-value>dev</param-value>
</context-param>
<context-param>
<param-name>spring.liveBeansView.mbeanDomain</param-name>
<param-value>dev</param-value>
</context-param>
</web-app>
- Bitte Lesen Sie dieser und Bearbeiten Sie Ihre Frage.
- Ok, sorry. Jeden könnte man mir bitte helfen? Danke Euch allen
Du musst angemeldet sein, um einen Kommentar abzugeben.
Nach googeln in ein paar Tagen habe ich eine Lösung gefunden. Wenn ich @EnableAutoConfiguration in meinem application.java es scheint, dass die zugeordneten URIs in den DispatcherServlet gelöscht werden oder nicht. So, hier wird erläutert, wie eine neue URI auf der Haupt-DispatcherServlet. In der ersten Methode nimmt der DispatchServlet und in die zweite fügen Sie eine neue URI.