在上一篇文章中已经总结了springboot如何集成过滤器和拦截器,但只是纯粹的讲了下如何集成,并没有就如何实战展开讲解, 老话说的好,光知道点理论的皮毛是远远不够的,是骡子是马还是必须拉出来溜溜,那么接下来将针对过滤器和拦截器讲述一些实际运用的案例。
过滤器(Filter)实战
1、url访问权限管控
public class UrlWhiteListFilter implements Filter {
private static final String responseMessage = "{\n" +
" \"status\":false,\n" +
" \"massage\":\"服务未发布\"\n" +
"}";
private Set<String> urlWhiteList = Sets.newHashSet();
private static final String FILE_NAME = "url_white_list";
@Override
public void init(FilterConfig filterConfig) throws ServletException{
try {
ClassLoader classLoader = getClass().getClassLoader();
URL url = classLoader.getResource(FILE_NAME);
FileInputStream inputStream = new FileInputStream(url.getPath());
BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(inputStream));
String str;
while (null != (str = bufferedReader.readLine())){
urlWhiteList.add(str.trim());
}
inputStream.close();
bufferedReader.close();
} catch (Exception e) {
logger.error("urlWhiteList init error#", e);
}
}