Meine Feder-Controller sollte jede Anfrage Anfrage von jedem URI-Typ mit Ausnahme einer URI, die mit /resources/*
begann, da dies der Aufruf ist, wenn ich nicht falsch bin, von Spring-Container zum Laden aller statischen Inhalt in Ansichtsseite getan.Wie ignoriert man ein bestimmtes URI-Muster im Frühjahr RequestMapping?
Aktuelle Konfiguration ist wie dies
@RequestMapping(method = RequestMethod.GET, value="/*")
, die für die Anforderung mit URI adaequat /
oder /example
aber wenn jemand einen Tippfehler in URI zB machen. /example/random/char
es wirft Ausnahme Spur Seite nicht gefunden (404), das ist ziemlich offensichtlich und führt mich value="/**"
@RequestMapping(method = RequestMethod.GET, value="/**")
dann die Anforderung mit URI /
oder /example
sind nicht in der Lage zu machen, um meine statischen Inhalte .js, .css or .png
Dateien in meiner Ansicht Seite zu laden . Dies führte mich zu der Schlussfolgerung, dass spring intern aufgerufen wird, diese Dateien mit einem URL-Muster zu laden. http://localhost:8080/resources/my.jpg
.
Hinweis: - Ich entfernte absichtlich meinen Projektnamen, indem ich Tomcat konfigurierte.
Update Okay @dimitrisli Kommentar machen mich erkennen, dass ich ein wenig über mein Projekt ausarbeiten muss.
Es ist im Grunde eine URL-Umleitung Komponente. Ein Benutzer ruft einfach meine Anwendung durch get-Anfrage und beendet mit der Umleitung auf die aktuelle Seite.
Zum Beispiel Benutzer Anfrage mich werfen ihren Browser mit URL sagen wir http://localhost:8080/sample
. Jetzt muss meine Anwendung die URL teilen, um die Zeichenfolge sample
zu erhalten und in db nach der tatsächlichen URL suchen (also sample
ist der Aliasname für eine wirklich lange URL). Wenn die URL existiert, wird sie auf die Seite der aktuellen Seite umgeleitet.
Vielen Dank für Ihre Antwort, aber das ist nicht meine Frage. Ich habe das schon gemacht. @Override public void addResourceHandlers (ResourceHandlerRegistry Registry) { \t \t registry.addResourceHandler ("/ resources/**") addResourceLocations ("/ Ressourcen /."); } – Satyaprakash
Was genau ist Ihr Anliegen? Wenn Sie die Ressourcendetails definiert haben, wird der gesamte statische Inhalt von der Webanwendung bedient und geht nicht durch das @RequestMapping. – dimitrisli
Ja, Sie haben recht, aber RequestMapping wird nicht durchlaufen, wenn value = "/ *", aber RequestMapping wird wann value = "/ **" – Satyaprakash