spring mvc website auf root (“/”)
Ich möchte spring mvc controller auf root abbilden (/**
) Pfad (und nicht Unterordner wie "/ something"), während Ausnahmen mit gemacht werdenmvc:resources
(Offen für eine andere Methode).
Dies sollte das ABC dieses Frameworks sein, aber anscheinend ist es sehr kompliziert, es zu erfragen.
Meineapp-servlet.xml
hat diese offensichtlichen Mapping-Ausnahmen:
<mvc:resources mapping="/favicon.ico" location="/favicon.ico" />
<mvc:resources mapping="/robots.txt" location="/robots.txt" />
Und ich habe diesen Controller:
import java.util.Date;
import javax.servlet.http.HttpServletRequest;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
@Controller
@RequestMapping("/**")
public class MainController {
@RequestMapping(method = RequestMethod.GET)
public String service(final HttpServletRequest request) {
final String servlet_path = request.getServletPath();
System.out.println(String.format("%s %s", new Date().toString(), servlet_path));
return "test";
}
}
Wenn ich nun "/" oder "/ test" oder "/ test / page" drücke, erhalte ich folgende Ausgabe:
Fri Aug 03 00:22:12 IDT 2012 /
Fri Aug 03 00:22:13 IDT 2012 /favicon.ico
.. sehen?service()
wird gefordert/favicon.ico
auch wenn es ausdrücklich ausgeschlossen ist!
Jetzt gibt es wohl eine "Priorität" für die@Controller
Wie kann ich den Ausschluss trotzdem über XML aktivieren?
Eine einfache Anforderung - haben die Website auf "/".
P.SDiese Antwort Antworten auf eine sehr ähnliche Frage.
Noch ein Hinweis: Bei dieser Frage geht es nicht um den Katerkontext.