導航:首頁 > 編程語言 > springmvc攔截jsp

springmvc攔截jsp

發布時間:2023-06-09 15:15:47

㈠ springMVC中能訪問jsp頁面, 卻不能訪問controller什麼原因(報錯404)。搞了一下午,毫無頭緒!求指導!

原因:
<servlet>
<servlet-name>mvc</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<init-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath*:/mvc.xml</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>

<servlet-mapping>
<servlet-name>mvc</servlet-name>
<url-pattern>/*</url-pattern>
</servlet-mapping>

將url-pattern中/*改為/
配置對所有請求進行了攔截,controller對視圖進行分發的時候又攔截。

㈡ SpringMVC中攔截/和攔截/*的區別

一、我們都知道在基於Spring的Application中,需要在web.xml中增加下面類似的配置信息:org.springframework.web.context..springframework.web.servlet.DispatcherServlet1servletName/此處需要特別強調的是/使用的是/,而不是/*,如果使用/*,那麼請求時可以通過DispatcherServlet轉發到相應的Action或者Controller中的,但是返回的內容,如返回的jsp還會再次被攔截,這樣導致404錯誤,即訪問不到jsp。所以如果以後發現總是有404錯誤的時候,別忘了check一下/的配置是否是/*.二、其實Spring的Servlet攔截器匹配規則(即)都可以自己定義,例:當映射為@RequestMapping("/user/add")時1、攔截*.do、*.htm,例如:/user/add.do這是最傳統的方式,最簡單也最實用。不會導致靜態文件(jpg,js,css)被攔截。2、攔截/,例如:/user/add可以實現現在很流行的REST風格。很多互聯網類型的應用很喜歡這種風格的URL。弊端:會導致靜態文件(jpg,js,css)被攔截後不能正常顯示。想實現REST風格,事情就是麻煩一些。後面有解決法還算簡單。3、攔截/*,這是一個錯誤的方式,請求可以走到Action中,但轉到jsp時再次被攔截,不能訪問到jsp。三、如何訪問到靜態的文件,如jpg,js,css?如果你的DispatcherServlet攔截"*.do"這樣的有後綴的URL,就不存在訪問不到靜態資源的問題。如果你的DispatcherServlet攔截"/",為了實現REST風格,攔截了所有的請求,那麼同時對*.js,*.jpg等靜態文件的訪問也就被攔截了。我們要解決這個問題。目的:可以正常訪問靜態文件,不可以找不到靜態文件報404。方案一:激活Tomcat的defaultServlet來處理靜態文件default*.jpgdefault*.jsdefault*.css特點:1.要配置多個,每種文件配置一個。2.要寫在DispatcherServlet的前面,讓defaultServlet先攔截請求,這樣請求就不會進入Spring了。3.高性能。備註:Tomcat,Jetty,JBoss,andGlassFish自帶的默認Servlet的名字--"default"GoogleAppEngine自帶的默認Servlet的名字--"_ah_default"Resin自帶的默認Servlet的名字--"resin-file"WebLogic自帶的默認Servlet的名字--"FileServlet"WebSphere自帶的默認Servlet的名字--"SimpleFileServlet"方案二:在spring3.0.4以後版本提供了mvc:resources,使用方法:images/**映射到ResourceHttpRequestHandler進行處理,location指定靜態資源的位置.可以是webapplication根目錄下、jar包裡面,這樣可以把靜態資源壓縮到jar包中。cache-period可以使得靜態資源進行webcache如果出現下面的錯誤,可能是沒有配置的原因。報錯WARNING:[/mvc/user/findUser/lisi/770]inDispatcherServletwithname'springMVC'使用元素,把mapping的URI注冊到SimpleUrlHandlerMapping的urlMap中,key為mapping的URIpattern值,而value為ResourceHttpRequestHandler,這樣就巧妙的把對靜態資源的訪問由HandlerMapping轉到ResourceHttpRequestHandler處理並返回,所以就支持classpath目錄,jar包內靜態資源的訪問.另外需要注意的一點是,不要對SimpleUrlHandlerMapping設置defaultHandler.因為對staticuri的defaultHandler就是ResourceHttpRequestHandler,否則無法處理staticresourcesrequest.方案三,使用會把"/**"url,注冊到SimpleUrlHandlerMapping的urlMap中,把對靜態資源的訪問由HandlerMapping轉到org.springframework.web.servlet.resource.處理並返回.使用就是各個Servlet容器自己的默認Servlet.補充說明:多個HandlerMapping的執行順序問題:的order屬性值是:0自動注冊的SimpleUrlHandlerMapping的order屬性值是:2147483646自動注冊的SimpleUrlHandlerMapping的order屬性值是:2147483647spring會先執行order值比較小的。當訪問一個a.jpg圖片文件時,先通過來找處理器,一定是找不到的,因為我們沒有叫a.jpg的Action。然後再按order值升序找,由於最後一個SimpleUrlHandlerMapping是匹配"/**"的,所以一定會匹配上,就可以響應圖片。訪問一個圖片,還要走層層匹配。不知性能如何?最後再說明一下,方案二、方案三在訪問靜態資源時,如果有匹配的(近似)總攔截器,就會走攔截器。如果你在攔截中實現許可權檢查,要注意過濾這些對靜態文件的請求。如何你的DispatcherServlet攔截*.do這樣的URL後綴,就不存上述問題了。還是有後綴方便。

㈢ 請問,java高手,spring mvc攔截器如何攔截所有的請求啊,包括html和jsp頁面

web.xml裡面這樣配置 他就攔截所有請求了
<servlet>
<servlet-name>spring-mvc</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<init-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath:spring-mvc.xml</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>spring-mvc</servlet-name>
<url-pattern>/</url-pattern>
</servlet-mapping>

㈣ springMVC 設置了<mvc:default-servlet-handler/> 為什麼攔截不到jsp 我的DispatcherServlet設置的是"/"

在springMVC-servlet.xml中配置<mvc:default-servlet-handler />後,會在Spring MVC上下文中定義一個org.springframework.web.servlet.resource.,它會像一個檢查員,對進入DispatcherServlet的URL進行篩查,如果發現是靜態資源的請求,就將該請求轉由Web應用伺服器默認的Servlet處理,如果不是靜態資源的請求,才由DispatcherServlet繼續處理。

閱讀全文

與springmvc攔截jsp相關的資料

熱點內容
dede工具 瀏覽:507
5g網盟app怎麼下載 瀏覽:486
微信備份老是連接中斷 瀏覽:886
出台多少份文件 瀏覽:380
鞋子怎麼搭配衣服的app 瀏覽:755
文件名使用的通配符的符號是什麼 瀏覽:916
lol分卷文件損壞怎麼辦 瀏覽:276
6分管車螺紋怎麼編程 瀏覽:732
海口農商銀行信用卡app是什麼 瀏覽:770
win10任務欄文件夾我的電腦 瀏覽:14
安卓nba2k18 瀏覽:776
文件夾密碼怎麼修改密碼 瀏覽:271
蘋果數據中心用什麼伺服器 瀏覽:769
省內圓通快遞寄文件夾需要多少錢 瀏覽:740
iphone程序加密 瀏覽:884
win10文件夾調整文件行高 瀏覽:681
創意手繪教程 瀏覽:754
微信刪除帳號信息 瀏覽:596
mysql操作類文件 瀏覽:649
繞過xp密碼 瀏覽:158

友情鏈接