日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区

您的位置:首頁技術文章
文章詳情頁

解決Springboot整合shiro時靜態資源被攔截的問題

瀏覽:21日期:2023-03-28 17:04:36

目錄結構如下

解決Springboot整合shiro時靜態資源被攔截的問題

在自己配置的ShiroConfig中已經放行了

filterChainDefinitionMap.put('/static/**', 'anon');

login.ftl也引用了靜態資源

<link rel='stylesheet' type='text/css' href='http://www.b3g6.com/logins/css/normalize.css' rel='external nofollow' /><link rel='stylesheet' type='text/css' href='http://www.b3g6.com/logins/css/demo.css' rel='external nofollow' /><link rel='stylesheet' href='http://www.b3g6.com/logins/js/vendor/jgrowl/css/jquery.jgrowl.min.css' rel='external nofollow' >

可是資源依然被攔截了

于是注釋掉了

//filterChainDefinitionMap.put('/**', 'authc');

靜態資源可以訪問了, 說明不是shiro的內在問題.

經過一番考慮, 感覺像是靜態資源路徑的問題, 于是在瀏覽器控制臺看一下source的路徑, 發現靜態資源的路徑前面是沒有static的, 因而shiro也不會放行.

springboot默認會將static目錄中的內容做為classes根目錄的內容發布到web服務器, 所以如果想要放行靜態資源, 同時又要實現攔截/**請求, 那么我的解決辦法是:

解決辦法

目錄改造如下:

解決Springboot整合shiro時靜態資源被攔截的問題

攔截配置:

filterChainDefinitionMap.put('/statics/**', 'anon');filterChainDefinitionMap.put('/**', 'authc');

重啟web服務器, 清除瀏覽器緩存, 此時source中已經是正確的路徑了, 靜態資源被引用了.問題解決

解決Springboot整合shiro時靜態資源被攔截的問題

記錄一下自己犯得低級錯誤。

補充:SpringMVC+Shiro不攔截靜態資源配置

最近在弄SpringMVC與Shiro整合,發現如果將DispatcherServlet攔截 *.do這樣的URL,就不存在訪問不到靜態資源的問題。如果DispatcherServlet改為攔截“/”,攔截了所有的請求,同時對*.js,*.jpg的訪問也就被攔截了。

解決方法:

方案一:

激活Tomcat的defaultServlet來處理靜態文件

<servlet-mapping> <servlet-name>default</servlet-name> <url-pattern>*.jpg</url-pattern></servlet-mapping><servlet-mapping> <servlet-name>default</servlet-name> <url-pattern>*.js</url-pattern></servlet-mapping><servlet-mapping> <servlet-name>default</servlet-name> <url-pattern>*.css</url-pattern></servlet-mapping> .......

tip:要寫在DispatcherServlet的前面, 讓defaultServlet先攔截,這個就不會進入Spring了

方案二:

在spring3.0.4以后版本提供了mvc:resources

<mvc:resources 的使用方法:<!--對靜態資源文件的訪問--><mvc:resources mapping='/images/**' location='/images/' />/images/** 映射到 ResourceHttpRequestHandler 進行處理,

location指定靜態資源的位置.可以是web application根目錄下、jar包里面,這樣可以把靜態資源壓縮到jar包中。cache-period可以使得靜態資源進行web cache

報錯WARNING: No mapping found for HTTP request with URI [/mvc/user/findUser/lisi/770] in DispatcherServlet with name ’springMVC’

可能是沒有配置如下代碼

<mvc:annotation-driven />

使用 <mvc:resources/> 元素,把 mapping 的 URI 注冊到 SimpleUrlHandlerMapping的urlMap 中,

key 為 mapping 的 URI pattern值,而 value為 ResourceHttpRequestHandler,

這樣就巧妙的把對靜態資源的訪問由 HandlerMapping 轉到 ResourceHttpRequestHandler 處理并返回,所以就支持 classpath 目錄, jar 包內靜態資源的訪問.

另外需要注意的一點是,不要對 SimpleUrlHandlerMapping 設置 defaultHandler. 因為對 static uri 的 defaultHandler 就是ResourceHttpRequestHandler,

否則無法處理static resources request.

方案三

使用<mvc:default-servlet-handler/>

<mvc:default-servlet-handler/>

會把 '/**' url,注冊到 SimpleUrlHandlerMapping 的 urlMap 中,把對靜態資源的訪問由 HandlerMapping 轉到 org.springframework.web.servlet.resource.DefaultServletHttpRequestHandler 處理并返回.

DefaultServletHttpRequestHandler 使用就是各個 Servlet 容器自己的默認 Servlet.

補充說明:多個HandlerMapping的執行順序問題:

DefaultAnnotationHandlerMapping 的 order 屬性值是:0

<mvc:resources/ >自動注冊的 SimpleUrlHandlerMapping 的 order 屬性值是: 2147483646

<mvc:default-servlet-handler/>自動注冊的 SimpleUrlHandlerMapping 的 order 屬性值是:2147483647

spring 會 先執行 order 值比較小的。當訪問一個 a.jpg 圖片文件時,先通過 DefaultAnnotationHandlerMapping 來找處理器,一定是找不到的,我們沒有叫 a.jpg 的 Action。再按 order 值升序找,由于最后一個 SimpleUrlHandlerMapping 是匹配 '/**' 的,所以一定會匹配上,再響應圖片。

訪問一個圖片,還要走層層匹配。真不知性能如何?改天做一下壓力測試,與Apache比一比。

最后再說明一下,如何你的 DispatcherServlet 攔截 *.do 這樣的 URL,就不存上述問題了。

以上為個人經驗,希望能給大家一個參考,也希望大家多多支持好吧啦網。如有錯誤或未考慮完全的地方,望不吝賜教。

標簽: Spring
相關文章:
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
精品一区二区三区中文字幕视频| 免费在线成人网| 日韩毛片网站| 欧美欧美黄在线二区| 男人的天堂久久精品| 国产欧美日韩在线一区二区| 日韩理论片av| av不卡在线| 国产一区三区在线播放| 国产乱人伦精品一区| 亚洲精品婷婷| 美国三级日本三级久久99 | 久久一区二区中文字幕| 亚洲va在线| 婷婷亚洲成人| 亚洲aⅴ网站| 日本一区二区三区中文字幕| 欧美日韩国产高清| 欧美一区三区| 先锋亚洲精品| 欧美午夜不卡| 亚洲人成精品久久久| 午夜一区在线| 亚洲一区成人| 奇米色欧美一区二区三区| 亚洲另类av| 日日夜夜免费精品| 亚州欧美在线| 国产精品中文字幕制服诱惑| 国产欧美亚洲一区| 国产精品一级在线观看| 国产一区二区三区网| 波多野结衣久久精品| 日本久久成人网| 视频一区中文| 久久国产99| 欧美黑人巨大videos精品| 日韩大片在线观看| 99久久亚洲精品蜜臀| 亚洲一区日韩| 香蕉精品999视频一区二区| 亚洲另类黄色| 日产精品一区| 在线一区av| 蜜桃视频欧美| 蜜桃av一区| 国产精品久久久久9999高清| 中文字幕高清在线播放| 日韩和的一区二在线| 丝袜美腿亚洲色图| 国产农村妇女精品一区二区| 只有精品亚洲| 国产一区二区三区黄网站| 久久国产亚洲精品| 日韩国产高清在线| 中文另类视频| 国产精品蜜月aⅴ在线| 樱桃成人精品视频在线播放| 免费日本视频一区| 国产欧美日韩一区二区三区四区| 久久久久久婷| 最新国产精品视频| 国产国产精品| 米奇777超碰欧美日韩亚洲| 国产亚洲第一伦理第一区| 国产欧美在线| 亚洲午夜av| 国产亚洲精品精品国产亚洲综合| 亚洲午夜久久久久久尤物| 69堂精品视频在线播放| 在线视频观看日韩| 久久亚洲欧美| 人在线成免费视频| 夜夜嗨一区二区| 国产aⅴ精品一区二区三区久久| 亚洲成人免费| 日韩黄色大片| 国产精品日本一区二区三区在线| 日韩精品欧美激情一区二区| 日本不卡在线视频| 久久精品毛片| 亚洲国产成人精品女人| 久久av免费| 国产一区二区三区成人欧美日韩在线观看| 日欧美一区二区| 亚洲精品激情| 免费久久久久久久久| 成人一区不卡| 国产日本亚洲| 中文字幕日韩欧美精品高清在线| 亚洲一区亚洲| 日韩中文字幕在线一区| 蘑菇福利视频一区播放| 欧美成人精品一级| 国产精品天堂蜜av在线播放| 亚洲伊人精品酒店| 欧美日韩四区| 日本 国产 欧美色综合| 国产精品第一国产精品| 国际精品欧美精品| 欧美日韩中文| 日韩精品亚洲aⅴ在线影院| 久久亚洲色图| 蜜臀av一区二区三区| 成人福利av| 国产99久久久国产精品成人免费| 日韩高清欧美激情| 999久久久国产精品| 久久99精品久久久野外观看| 日韩午夜视频在线| 日韩欧美2区| 亚洲精品美女91| 激情自拍一区| 午夜久久久久| 精品国产亚洲日本| 中文日韩欧美| 蜜桃国内精品久久久久软件9| 欧美日韩免费看片| 久久精品72免费观看| 日韩一区精品| 久久毛片亚洲| 中文亚洲免费| 亚洲精华国产欧美| 国产成人精品一区二区三区视频 | 国产欧美大片| 尤物网精品视频| 在线成人动漫av| 亚洲免费精品| 亚洲福利国产| 欧美高清不卡| 精品三级在线观看视频| 国产精品嫩模av在线| 亚洲啊v在线| 亚洲小说春色综合另类电影| 97精品资源在线观看| 麻豆极品一区二区三区| 欧美不卡高清一区二区三区| 国产麻豆精品| 国产一区日韩一区| 国产精品xx| 国产欧美丝祙| 夜夜嗨av一区二区三区网站四季av| 黑丝一区二区三区| 欧美交a欧美精品喷水| 亚洲精品激情| 欧美黄色网页| 中文av在线全新| 高清日韩欧美| 亚洲综合在线电影| 亚洲欧美在线综合| 日本亚洲欧美天堂免费| 精品伊人久久久| 岛国av在线网站| 亚洲色图综合| 99视频精品全部免费在线视频| 精品1区2区3区4区| 亚洲图片久久| 麻豆国产精品视频| 黄色成人91| 日韩黄色av| 日韩在线不卡| 日本一二区不卡| 亚洲一级高清| 精品国产鲁一鲁****| 国产亚洲字幕| av免费不卡国产观看| 久久久久国产精品一区三寸| 亚洲一区二区av| 伊人久久av| 99riav1国产精品视频| 国产日韩欧美| 夜夜嗨网站十八久久| 日韩国产欧美| 一区二区小说| 日本强好片久久久久久aaa| 一区二区视频欧美| 麻豆精品视频在线观看视频| 蜜桃av一区| 精品日韩一区| 日韩国产在线| 亚洲精品第一| 国产精品日本一区二区三区在线 | 99热免费精品| 午夜久久av | 在线国产精品一区| 欧美一区三区| 亚洲专区一区| 成人精品中文字幕| 久久一级电影| 久久亚洲国产精品一区二区| 久草精品视频| 亚洲激情婷婷| 日韩另类视频| 日韩中文在线电影| 久久国产亚洲| 伊人成人网在线看| 日韩高清不卡一区| 日韩精品免费视频一区二区三区 | 亚洲婷婷在线| 国产一区成人|