我想映射春天mvc控制器到根(/**
)路徑(而不是子文件夾,如「/東西」),同時使mvc:resources
異常(打開到另一種方法) 。春天mvc網站的根(「/」)
這應該是該框架的基礎知識,但顯然是要求它的一個非常複雜的東西。
我app-servlet.xml
有這些明顯的映射例外:
<mvc:resources mapping="/favicon.ico" location="/favicon.ico" />
<mvc:resources mapping="/robots.txt" location="/robots.txt" />
我有此控制器:
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";
}
}
現在,當我打 「/」 或 「/測試」 或「/測試/頁「我得到如下輸出:
Fri Aug 03 00:22:12 IDT 2012/
Fri Aug 03 00:22:13 IDT 2012 /favicon.ico
..看到了嗎? service()
即使在明確排除的情況下也會被呼叫/favicon.ico
!
現在我想在XML上有@Controller
的「優先權」,但是,我該如何使排除工作?
一個簡單的要求 - 網站上有「/」。
P.S This answer回答一個非常類似的問題。
另一個注意:這個問題不是關於tomcat的上下文。
您的解決方案是指一個單一的URL(「/」 - >「家」)。我需要它是一張通配符。如果你可以慷慨解釋如何提高'@ RequestMapping'的'mvc:resources'的優先級,那麼我猜測,它會解決它。謝謝! – Poni 2012-08-02 22:19:45
添加更新 – 2012-08-02 22:41:33
工作 - 謝謝Biju! – Poni 2012-08-02 22:51:16