一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術|正則表達式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

服務器之家 - 編程語言 - Java教程 - 詳解SpringMVC中設置靜態資源不被攔截的問題

詳解SpringMVC中設置靜態資源不被攔截的問題

2020-08-02 12:03杜sir2010 Java教程

這篇文章主要介紹了詳解SpringMVC中設置靜態資源不被攔截的問題,小編覺得挺不錯的,現在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧

這兩天使用SpringMVC來做登錄,注冊的小demo,其中用到了springmvc攔截器對登錄操作進行攔截處理,并對url進行驗證。驗證通過則可以進行handler的處理,如果驗證不通過直接跳回或者重定向到指定的頁面。

但是在做這個操作的時候,遇到很大的一個問題就是項目demo中的靜態資源都會在每次請求中被攔截處理了!跳回頁面的時候,頁面就不再是想想中的呈現的樣子了。

以為我在springmvc.xml中已經配置了攔截器和靜態資源的配置卻還是出現這樣的結果,所以就又是看前段瀏覽器的設置,又是看css文件,js文件。最后才鎖定目標是靜態資源的問題,直接在web.xml中使用defaultServlet的方式才解決問題。

下面是我的攔截器代碼:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
@Override
public boolean preHandle(HttpServletRequest request,
  HttpServletResponse response, Object handler) throws Exception {
 String url=request.getRequestURI();
 System.out.println(url);
 String method=request.getMethod();
  //判斷是否在做登錄操作
 if(url.indexOf("/login")>=0&&method.equalsIgnoreCase("post")){
   return true;
 }
    //判斷是否在做注冊操作
    if(url.indexOf("/toAddUserPage")>=0){
  return true;
 }
  //如果時登錄用戶則可以進行下一步操作 返回true
 HttpSession session=request.getSession();
 User user=(User) session.getAttribute("user");
 if(user!=null){
       //登錄之后不能使用登錄操作和注冊操作
       if(url.indexOf("/toLogin")>=0||url.indexOf("/toAddUserPage")>=0){
   request.getRequestDispatcher("/WEB-INF/jsp/index.jsp").forward(request, response);
   return false;
  }
  return true;
 }
 //其他操作直接返回到登錄頁面
 request.getRequestDispatcher("/WEB-INF/jsp/user/login.jsp").forward(request, response);
 return false;
}

下面是我的springmvc的配置:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
<!-- 可以掃描controller、service、這里讓掃描controller,指定controller的包 -->
 <context:component-scan base-package="com.ipro.shopping.controller"/>
  <!-- 使用 注解驅動可以加載處理器適配器和處理器映射以及json解釋器不用單獨再添加處理器適配器和核處理器映射的配置 -->
 <mvc:annotation-driven conversion-service="conversionService"></mvc:annotation-driven>
  
 <!-- 靜態資源解析包括 :js、css、img、 -->
 <!-- <MVC:RESOURCES LOCATION="/" MAPPING="**.HTML"/>
 <MVC:RESOURCES LOCATION="/" MAPPING="**.JS"/>
 <MVC:RESOURCES LOCATION="/" MAPPING="**.CSS"/>
 <MVC:RESOURCES LOCATION="/" MAPPING="**.PNG"/>
 <MVC:RESOURCES LOCATION="/" MAPPING="**.GIF"/>
 <MVC:RESOURCES LOCATION="/" MAPPING="**.JPG"/> -->
  
 <!-- 配置攔截器 -->
 <mvc:interceptors>
  <mvc:interceptor>
   <mvc:mapping path="/**"/>
   <bean class="com.ipro.shopping.interceptor.LoginInterceptor"></bean>
  </mvc:interceptor>
 </mvc:interceptors>

我把所有的靜態資源都設置成怎樣的形式,可結果還是無法返回正確的答案。

下面是配置web.xml之后的文件:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
<servlet-mapping>
  <servlet-name>default</servlet-name>
  <url-pattern>*.jpg</url-pattern>
 </servlet-mapping>
 <servlet-mapping>
  <servlet-name>default</servlet-name>
  <url-pattern>*.gif</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>
 <servlet-mapping>
  <servlet-name>default</servlet-name>
  <url-pattern>*.png</url-pattern>
 </servlet-mapping>
  
 <!-- springmvc前端控制器 -->
 <servlet>
  <servlet-name>springmvc</servlet-name>
  <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
  <!-- contextConfigLocation配置springmvc加載的配置文件 (配置處理器映射器、適配器等等) 如果不配置contextConfigLocation,
   默認加載的是/WEB-INF/servlet名稱-serlvet.xml(springmvc-servlet.xml) -->
  <init-param>
   <param-name>contextConfigLocation</param-name>
   <param-value>classpath:springmvc.xml</param-value>
  </init-param>
 </servlet>

注意的是我們配置defaultServlet一定要配置到springmvc的前端控制器(DispatcherServlet)前面才會生效。

上面是我在做登錄驗證的時候用到的,僅供參考。目前這個問題只做了一種方案,網上說的有三種可以解決的方案,第一種就是我上面提到的這種

第二種就是在springmvc中配置的方式,只不過我配置的沒有成功。另外一種就是也是使用defaultServlet使用注解的方式配置。

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持服務器之家。

原文鏈接:http://blog.csdn.net/dukangcheng/article/details/50823625?locationNum=9&fps=1

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 欧美色青 | 欧美2区| 久久九九亚洲精品 | 国产乱码在线精品可播放 | 国产日韩精品一区二区在线观看 | 色天天综合网色鬼综合 | 国产精品视频久 | 成人观看免费观看视频 | 精品国产福利片在线观看 | 免费一看一级欧美 | 欧美一区二区三区免费高 | 极品妖艳许清赵丽全文免费阅读 | 3d动漫h在线观看网站蜜芽 | 免费视频片在线观看 | 99视频全部看免费观 | 99精品在线免费观看 | 精品一区二区三区五区六区七区 | 日本大学jalapsikix | 人人擦 | 国产成人免费a在线资源 | 非洲黑人bbwbbwbbw | 国产伦精品一区二区 | 欧美大片一级片 | 国产在线伊人 | 免费观看一区二区 | 好大好长好紧爽免费 | 色婷婷婷丁香亚洲综合不卡 | 加勒比一本大道香蕉在线视频 | 精品精品国产自在香蕉网 | 男人天堂中文字幕 | 天天爱天天做天天爽天天躁 | 亚洲国产综合自在线另类 | 特黄特黄aaaa级毛片免费看 | 干美女视频| 久久国产精品无码视欧美 | 成人在线免费观看视频 | 亚洲国产第一区二区三区 | 久久视频在线视频 | 先锋资源av | 亚洲精品一区二区三区在线播放 | 欧美日韩亚洲区久久综合 |