1. 程式人生 > >在URL匹配時,”/“與"/*"的區別

在URL匹配時,”/“與"/*"的區別

轉載原址:http://www.aichengxu.com/view/44696


總是現象就是:
spring用到forward("/WEB-INF/jsp/*.jsp")
而forward當然是又要經過web.xml的對映的,
然後,在URL匹配時,
<url-pattern>/</url-pattern> 不會匹配到*.jsp,不會進入spring的DispatcherServlet類
<url-pattern>/*</url-pattern> 會匹配*.jsp,導致進入spring的DispatcherServlet類,然後去尋找controller,接著找不到對應的controller所以報錯。


試驗了一下,改為 <url-pattern>/</url-pattern> 果然就不會報錯了,唉,還以為不能解決,為此還換成了velocity作為檢視,算了,繼續用velocity吧,簡單點。


總之,關於web.xml的url對映的小知識:
<url-pattern>/</url-pattern> 會匹配到/login這樣的路徑型url,不會匹配到模式為*.jsp這樣的字尾型url
<url-pattern>/*</url-pattern> 會匹配所有url:路徑型的和字尾型的url(包括/login,*.jsp,*.js和*.html等)