url-pattern中的/和/*的區別
url-pattern配置為"/"和"/*"的區別
最近在學習springMVC框架,對於其前端控制器的過濾配置url-pattern很困惑。遂百度查各種資料,翻閱各種部落格,發現每個人的說法都不一樣,很多人的理解都是錯的!於是找大牛解惑,大牛就是大牛,一下子就讓我明白了。
解:首先大家都知道"/*"可以匹配所有url,包括帶副檔名的,一般只用在過濾器上。
而"/"很多人理解成不能攔截帶副檔名的,這種理解是錯誤的!它其實也能攔截“.js”,“.css”,".png"等靜態資源的訪問。
看官方文件可知,它是tomcat的預設servlet,當其他的url-pattern匹配不上時都會走這個servlet。它除了能夠處理靜態資源還能夠處理HTTP快取請求,媒體(音訊/視訊)資料流和檔案下載簡歷。所以如果我們的專案中配置了"/",會覆蓋掉tomcat中的default servlet。
tomcat伺服器的web.xml配置:
所以當springMVC的前端控制器配置為“/”時,需要在主配置檔案中配置放行靜態資源。
第一種:
<!-- 放行靜態資源 -->
<mvc:resources location="/js/" mapping="/js/**"/>
<mvc:resources location="/css/" mapping="/js/**"/>
<mvc:resources location="/images/" mapping="/js/**"/>
第二種:
<mvc:default-servlet-handler />
相關推薦
url-pattern中的/和/*的區別
url-pattern配置為"/"和"/*"的區別 最近在學習springMVC框架,對於其前端控制器的過濾配置url-pattern很困惑。遂百度查各種資料,翻閱各種部落格,發現每個人的說法都不一樣,很多人的理解都是錯的!於是找大牛解惑,大牛就是大牛,一下子就讓我明白
spring MVC的困惑 url-pattern的/和/*有區別
今天在寫專案時發現一個spring 總是報org.springframework.web.servlet.DispatcherServlet noHandlerFound警告: No mapping found for HTTP request with URI [/my
Servlet URL對映中/和/*的區別
程式碼如下所示: <servlet-mapping> <servlet-name>main</servlet-name> <url-pattern>/*</url-pattern>
php中??和?:區別
??和?:區別: $headerVal = 0; $this->params = $headerVal ?? 2; 相當於 isset($headerVal) ? $headerVal : 2; //結果是0 $this->params = $headerVal ?: 2; 相當於
C++中:和::區別和用法的一些總結
冒號(:)的用法 1、既定義變數所佔的大小 例如: unsigned char a:4; 2、public:和private:後面的冒號,表示後面定義的所有成員都是公有或私有的,例如: class A { public: int a;
mybatis中#{}和${}區別
開發思考由來: <select id="findUserById" parameterType="int" resultType="com.zzu.ssm.po.User"> select * from user where id=#{id}
Python3中// 和/區別
clas 大於 一個 pytho 其中 整數 大整數 mar 中一 " / "表示浮點數除法,返回浮點float結果;" // "表示整數除法,返回一個不大於" / "計算結果的最大整數int,特別註意如果其中一個操作數位負數,則結果必為負數。如: a = 5/3b = 5
php中“=>”和 “->” 區別
=>一般應用到陣列中,是一個對應關係。 ->一般是類方法的呼叫。 -> 用於類中,訪問類中的方法 eg:<?php class Hello{function ad_demo{echo "hello word";} } $word =
mybatis 中#{} 和${} 區別
在使用MyBatis 框架時 ,在xml的配置檔案中,通常是使用#{} 來獲取數值的 如 :select * from t_user_inf where ID = #{id} ; 這時 如果你傳入的值為zhangsan ,則會編譯成為 select * from t
Mybatis 中 ${} 和 #{} 區別
1. #將傳入的資料都當成一個字串,會對自動傳入的資料加一個雙引號。如:order by #user_id#,如果傳入的值是111,那麼解析成sql時的值為order by "111", 如果傳入的值是id,則解析成的sql為order by "id". 2. $將傳入的資
URL引數中&和+被轉成空格
在ajax傳輸密碼串的時候,密碼總是報錯,檢視日誌發現密碼串有很多的空格,檢視在非ajax中傳輸的密碼串,發現密碼串中的&和+都被轉義成了空格。 檢視網上的資料[1]發現 web開發中通過問號(?)方式在瀏覽器位址列中傳值時。瀏覽器是通
js中==和===區別
轉換成 都是 sna 比較 數據類型 -h 其中 class 位置 js中==和===區別 簡單來說: == 代表相同, ===代表嚴格相同, 為啥這麽說呢, 這麽理解: 當進行雙等號比較時候: 先檢查兩個操作數數據類型,如果相同, 則進行===比較, 如果不同,
SpringMVC中url-pattern /和/*的區別
學習Spring的時候,在配置web.xml的時候,把url-pattern 配置成/*,啟動專案後去訪問自己的Controller總是報404.檢查了很多發現資源是存在的,配置的地址也沒有問題,為什麼會出現404錯誤呢?最後發現是自己配置的 url-patte
web.xml中url-pattern /和/*之間的區別
在寫springMVC小例子的時候遇到了攔截的問題,在url-pattern中引數的兩種方式 一、 <servlet-mapping> <servlet-name>springMVC</servlet-name> <
<url-pattern>寫成/和/*的區別
空串 login 不同的 pattern 資源 聲音 welcom 方式 想要 <url-pattern>/</url-pattern> 會匹配到 /login 這樣的路徑型url,不會匹配到模式為*.jsp這樣的後綴型url。 這種形式
滲透日記20180125--每日點滴--URL中?和#的區別(關於SSRF)以及mysql的secure-file-priv
mysq www. transport post 這樣的 pan .com 並不是 aaa 零,緒論 20180125日,忙! 瞎比比總結一下,來滿足這是個日記的樣子。 1、今天談的並不是什麽技術【當然也不是沒有技術(都很基礎)】而是瞎幾把扯。 一、關於一種SSRF的檢測繞
python web開發-flask中url帶斜線/和不帶斜線/的區別詳解
編程語言 Python flask中帶斜線和不帶斜線的url通過flask進行路由配置的時候,有一個細節,就是同樣的url,帶上”/”和不帶”/”有什麽區別。舉例說明:比如有個url,名字為”/url”先同時定義兩種url,一種帶”/”,一種不帶”/”,如下代碼:@app.route("/url")d
HTTP 協議中 URI 和 URL 有什麽區別?
路徑 西湖區 AI www. str 我們 tar ofo 不能 URI = Universal Resource IdentifierURL = Universal Resource Locator 統一資源標誌符URI就是在某一規則下能把一個資源獨一無二地標識出來。拿
<url-pattern>寫成/和/*的區別- CSDN博客
區別 繼續 媒體 ack ren css 以及 image jsp頁面 <url-pattern>/</url-pattern>: 會匹配到/springmvc這樣的路徑型url,不會匹配到模式為*.jsp這樣的後綴型url。 <url-pat
正則表達式中pattern.match(),re.match(),pattern.search(),re.search()方法的使用和區別
pil 多行 findall 什麽 大小寫 python python語言 one 文本 正則表達式(regular expression)是一個特殊的字符序列,描述了一種字符串匹配的模式,可以用來檢查一個串是否含有某種子串。 將匹配的子串替換或者從某個串中取出符合某個