摘要:但資源文件的請求也會被轉(zhuǎn)至中處理,可通過如下配置查看效果注意中的后面有兩個號,表示所有目錄及子目錄的路徑。這樣,在中多帶帶訪問某個資源文件,可以看到該請求被轉(zhuǎn)到方法中處理了。
在Spring框架中,所有的請求都可通過Spring轉(zhuǎn)發(fā)器(Dispatcher)攔截,然后轉(zhuǎn)到Controller層處理,但是有些資源文件的訪問(比如圖片、JS、CSS等文件)不需要經(jīng)過Controller處理,這種情況如果處理?
使用Spring框架時,一般在web.xml中配置Spring的Servlet轉(zhuǎn)發(fā)器,攔截前端請求以轉(zhuǎn)交給Spring的Controller層處理。比如:
配置URL規(guī)則:
springmvc /
配置轉(zhuǎn)發(fā)器對應(yīng)的class:
springmvc org.springframework.web.servlet.DispatcherServlet contextConfigLocation classpath:applicationContext-mvc.xml 1 true
上述配置好后,前端的所有請求,包含資源文件,都會轉(zhuǎn)至Controller層處理,然后通過@RequestMapping來映射具體的處理方法。
但資源文件的請求也會被轉(zhuǎn)至Controller中處理,可通過如下配置查看效果:
@RequestMapping(value = "/**", method = RequestMethod.GET) public String index() {
注意:value中的/后面有兩個*號,表示所有目錄及子目錄的路徑。
這樣,在URL中多帶帶訪問某個資源文件,可以看到該請求被轉(zhuǎn)到index方法中處理了。
那如何解決這個問題呢?比如有下面的HTML,請求了js資源:
Title Hello
注意:使用結(jié)尾,而不是直接