拦截器-java

myLanJieQi.java

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
package com.sec.test;

import com.fasterxml.jackson.databind.ObjectMapper;
import org.springframework.stereotype.Component;
import org.springframework.web.servlet.HandlerInterceptor;

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

@Component
public class myLanJieQi implements HandlerInterceptor {
@Override
public boolean preHandle(HttpServletRequest request,HttpServletResponse response, Object handler) throws Exception {
String token = request.getHeader("token");
ObjectMapper objectMapper = new ObjectMapper();

if(token==null||token==""||"".equals(token)){
System.out.println("token不存在");
String error = objectMapper.writeValueAsString("error");
response.getWriter().write(error);
return false;
}
return true;
}
}

myWebMvcConfigurer.java

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
33
34
35
36
37
38
39
40
package com.sec.test;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Configuration;
import org.springframework.web.servlet.config.annotation.EnableWebMvc;
import org.springframework.web.servlet.config.annotation.InterceptorRegistry;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;

import javax.annotation.Resource;
import java.util.ArrayList;

@Configuration
@EnableWebMvc
public class myWebMvcConfigurer implements WebMvcConfigurer {

@Resource
myLanJieQi myLanJieQi;

@Override
public void addInterceptors(InterceptorRegistry registry) {
ArrayList<String> arrayList = new ArrayList<>();
arrayList.add("/bootstrap3/**");
arrayList.add("/css/**");
arrayList.add("/images/**");
arrayList.add("/js/**");
arrayList.add("/web/register.html");
arrayList.add("/web/login.html");
arrayList.add("/web/index.html");
arrayList.add("/web/product.html");
arrayList.add("/users/register");
arrayList.add("/users/login");
arrayList.add("/districts/**");
arrayList.add("/products/**");

registry.addInterceptor(myLanJieQi)//添加自己写好的拦截器
.addPathPatterns("/**")//所有路径都拦截
.excludePathPatterns(arrayList);//这些路径不拦截
}
}