1. 程式人生 > >spring中/*和/的區別

spring中/*和/的區別

/和/*的區別:
< url-pattern > / </ url-pattern >   不會匹配到*.jsp,即:*.jsp不會進入spring的 DispatcherServlet類 。
< url-pattern > /* </ url-pattern > 會匹配*.jsp,會出現返回jsp檢視時再次進入spring的DispatcherServlet 類,導致找不到對應的controller所以報404錯。 

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

1. 首先/這個是表示預設的路徑,及表示:當沒有找到可以匹配的URL就用這個URL去匹配。

2. 在springmvc中可以配置多個DispatcherServlet,比如: 配置多個DispatcherServlet有/和/*,先匹配的是/*這個

3. 當配置相同的情況下,DispathcherServlet配置成/和/*的區別 <一>/:使用/配置路徑,直接訪問到jsp,不經springDispatcherServlet <二> /*:配置/*路徑,不能訪問到多檢視的jsp 當我在客戶端呼叫URL:/user/list然後返回user.jsp檢視,當配置的是/:DispathcherServlet拿到這個請求然後返回對應的controller, 然後依據Dispather Type為Forward型別轉發到user.jsp檢視,即就是請求user.jsp檢視(/user/user.jsp),此時Dispather沒有攔截/user/user.jsp, 因為此時你配置的是預設的/,就順利的交給ModleAndView去處理顯示了。 當配置的是/*:DispathcherServlet拿到這個請求然後返回對應的controller,然後通過Dispather Type通過Forward轉發到user.jsp檢視, 即就是請求user.jsp檢視(/user/user.jsp),此時Dispather已經攔截/user/user.jsp,Dispatcher會把他當作Controller去匹配,沒有匹配到就會報

404錯誤

**儘量使用/