1. 程式人生 > 實用技巧 >SpringMVC——攔截器

SpringMVC——攔截器

在springmvc配置檔案中新增:

<mvc:interceptors>
<mvc:interceptor>
<!--/**包括這個請求下的所有請求-->
<mvc:mapping path="/**"/>
<bean class="com.yl.config.MyInterceptor"/>
</mvc:interceptor>
</mvc:interceptors>

新增一個controller方法:

注意controller類添加註解@RestController,禁止跳入檢視

@GetMapping("/t1")
public String test(){
System.out.println("test()執行了");
return "ok";
}

新建一個config包,新建攔截器類

package com.yl.config;

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

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

//攔截器
public class MyInterceptor implements HandlerInterceptor {
//return true:放行,執行下一個攔截器
//return false:不執行下一個攔截器
public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {
System.out.println("===========處理前===========");
return true;
}

//通常用來寫攔截日誌,可以不用
public void postHandle(HttpServletRequest request, HttpServletResponse response, Object handler, ModelAndView modelAndView) throws Exception {
System.out.println("===========處理後===========");
}

//通常用來寫攔截日誌,可以不用
public void afterCompletion(HttpServletRequest request, HttpServletResponse response, Object handler, Exception ex) throws Exception {
System.out.println("===========清理===========");
}
}

測試結果:

登入攔截器實現見本地專案