最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Springboot項(xiàng)目使用攔截器方法詳解

 更新時(shí)間:2019年09月27日 14:56:32   作者:大專欄  
這篇文章主要介紹了Springboot項(xiàng)目使用攔截器方法詳解,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下

1. 創(chuàng)建一個(gè)攔截器并實(shí)現(xiàn)HandlerInterceptor接口

package com.leiyuan.bs.interceptor;

import org.springframework.web.servlet.HandlerInterceptor;
import org.springframework.web.servlet.ModelAndView;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

// 攔截器
public class MyHandlerInterceptor implements HandlerInterceptor {
  /**
   * 攔截(Controller方法調(diào)用之前)
   *
   * @param request request
   * @param response response
   * @param o    o
   * @return 通過與否
   * @throws Exception 異常處理
   */
  @Override
  public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object
      o) throws Exception {
    // TODO 我這里是通過用戶是否登陸進(jìn)行攔截,我的用戶信息存儲(chǔ)在session中,名稱為userSession,大家可以自行實(shí)現(xiàn)
    if (request.getSession().getAttribute("userSession") == null) {
      // 攔截至登陸頁面
      request.getRequestDispatcher("/user/toLogin").forward(request, response);
      // false為不通過
      return false;
    }
    // true為通過
    return true;
  }

  // 此方法為處理請(qǐng)求之后調(diào)用(調(diào)用過controller方法之后,跳轉(zhuǎn)視圖之前)
  @Override
  public void postHandle(HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse, Object o,
              ModelAndView modelAndView) throws Exception {

  }

  // 此方法為整個(gè)請(qǐng)求結(jié)束之后進(jìn)行調(diào)用
  @Override
  public void afterCompletion(HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse,
                Object o, Exception e) throws Exception {

  }
}

2. 創(chuàng)建一個(gè)配置類MyHandlerInterceptorConfig并繼承WebMvcConfigurerAdapter類重寫addInterceptors(InterceptorRegistry registry)方法

package com.leiyuan.bs;

import com.leiyuan.bs.interceptor.MyHandlerInterceptor;
import org.springframework.stereotype.Component;
import org.springframework.web.servlet.config.annotation.InterceptorRegistry;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurerAdapter;
// 攔截器配置類
@Component
public class MyHandlerInterceptorConfig extends WebMvcConfigurerAdapter {
  @Override
  public void addInterceptors(InterceptorRegistry registry) {
  	/**
     * 這里的addPathPatterns("/**")為配置需要攔截的方法“/**”代表所有,而后excludePathPatterns("/user/toLogin")等方法為排除哪些方法不進(jìn)行		 攔截
     */
    registry.addInterceptor(new MyHandlerInterceptor()).addPathPatterns("/**").excludePathPatterns("/user/toLogin").excludePathPatterns
        ("/user/login").excludePathPatterns("/user/toNewUser").excludePathPatterns("/user/newUser");
    super.addInterceptors(registry);
  }
}

3. 啟動(dòng)項(xiàng)目即可看到效果了

以上就是本文的全部內(nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

最新評(píng)論

瑞昌市| 遂昌县| 浦北县| 东宁县| 泰顺县| 柘荣县| 隆林| 喀喇| 韩城市| 无棣县| 元阳县| 资溪县| 无锡市| 大宁县| 池州市| 察雅县| 普兰店市| 皮山县| 理塘县| 什邡市| 紫金县| 普兰店市| 涿鹿县| 罗平县| 墨脱县| 巍山| 龙川县| 肇源县| 肇源县| 樟树市| 左权县| 彝良县| 衡阳县| 富锦市| 武汉市| 南和县| 双辽市| 宁南县| 泾源县| 抚州市| 彭水|