实现Filter接口,可以用@Configuration配置过滤器,或者用@WebFilter注解,指定拦截路径以及一些参数
FilterConfig
//过滤器,此为主配置
@Configuration
public class FilterConfig {
@Bean
public FilterRegistrationBean registFilter() {
FilterRegistrationBean registration = new FilterRegistrationBean();
registration.setFilter(new XjjsFilter());
registration.addUrlPatterns("/*");
registration.setName("XjjsFilter");
registration.setOrder(1);
return registration;
}
}
XjjsFilter
//配置拦截路径
//Component 如果用这个就不需要FilterConfig
//@WebFilter(filterName = "XjjsFilter",urlPatterns = {"/test"})
public class XjjsFilter implements Filter {
@Override
public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException {
long start = System.currentTimeMillis();
HttpServletRequest httpRequest = (HttpServletRequest)request;
HttpServletResponseWrapper httpResponse = new HttpServletResponseWrapper((HttpServletResponse) response);
System.out.println(httpRequest.getRequestURI());
Enumeration params = httpRequest.getParameterNames();//获取参数
while (params.hasMoreElements()) {
// 得到参数名
String name = params.nextElement().toString();
String[] value = httpRequest.getParameterValues(name);
String paraName = "";//参数值
for (int i = 0; i < value.length; i++) {
paraName = paraName + value[i];
}
System.out.println(name+":"+paraName);
//处理非法参数
if(new StrFilterUtils().isSafeStr(paraName)){
//参数正常继续执行
}else{
((HttpServletResponse) response).sendRedirect("/api/error/1001");
return;
}
}
if(httpRequest.getRequestURI().equals("/api/getlist")){
chain.doFilter(request,response);
//httpResponse.getWriter().write("no");
//return;
}else {
chain.doFilter(request,response);
}
// System.out.println("执行时间:"+(System.currentTimeMillis()-start));
// System.out.println("请求来源:"+httpRequest.getRemoteAddr());
// System.out.println("请求URI:"+httpRequest.getRequestURI());
// System.out.println("请求方式:"+ httpRequest.getMethod());
}
@Override
public void destroy() {
}
}
如有帮助请打赏一下,分分是爱!!!
注意 本文著作权归作者所有,转载请联系作者获得授权,并注明'xcSharp博客'
附件 用作学习和交流,如有侵权,请联系博主删除!!!
相关分类推荐
Spring boot + jdbcTemplate + MySQL增删改查
Spring boot + jdbcTemplate + MySQL增删改查, springboot+mybatis+MySQL逆向工程生成实体类
Java
1784
0
0
Spring Boot入门学习5-jar包windows自启动
WebSocket 是 HTML5 开始提供的一种在单个 TCP 连接上进行全双工通讯的协议。WebSocket 使得客户端和服务器之间的数据交换变得更加简单,允许服务端主动向客户端推送数据。在 WebSocket API 中,浏览器和服务器只需要完成一次握手,两者之间就直接可以创建持久性的连接,并进行双向数据传输。 在 WebSocket API 中,浏览器和服务器只需要做一个握手的动作,然后,浏览器和服务器之间就形成了一条快速通道。两者之间就直接可以数据互相传送。HTML5 定义的 WebSocket 协议,能更好的节省服务器资源和带宽,并且能够更实时地进行通讯。
Java
1565
0
0
评论这篇文章(128)
- 楼主 xcSharp博客
学习永无止境,活到老,学到老,书山有路勤为径,学海无涯苦作舟;业精于勤荒于喜,行成于思毁于随
- 1楼 107.***.***.132
- 2025-07-04 15:20
e
- 2楼 107.***.***.132
- 2025-07-04 15:21
e
- 3楼 107.***.***.132
- 2025-07-04 15:21
e
- 4楼 107.***.***.132
- 2025-07-04 15:21
e
- 5楼 107.***.***.132
- 2025-07-04 15:21
e
- 6楼 107.***.***.132
- 2025-07-04 15:21
e
- 7楼 107.***.***.132
- 2025-07-04 15:21
e
- 8楼 107.***.***.132
- 2025-07-04 15:21
e
- 9楼 107.***.***.132
- 2025-07-04 15:21
e
- 10楼 107.***.***.132
- 2025-07-04 15:21
e
- 11楼 107.***.***.132
- 2025-07-04 15:21
e
- 12楼 107.***.***.132
- 2025-07-04 15:21
e
- 13楼 107.***.***.132
- 2025-07-04 15:21
e
- 14楼 107.***.***.132
- 2025-07-04 15:21
e
- 15楼 107.***.***.132
- 2025-07-04 15:21
e
- 16楼 107.***.***.132
- 2025-07-04 15:21
e
- 17楼 107.***.***.132
- 2025-07-04 15:21
e
- 18楼 107.***.***.132
- 2025-07-04 15:21
e
- 19楼 107.***.***.132
- 2025-07-04 15:22
e
- 20楼 107.***.***.132
- 2025-07-04 15:22
e
- 21楼 107.***.***.132
- 2025-07-04 15:22
e
- 22楼 107.***.***.132
- 2025-07-04 15:22
e
- 23楼 107.***.***.132
- 2025-07-04 15:22
e
- 24楼 107.***.***.132
- 2025-07-04 15:22
e
- 25楼 107.***.***.132
- 2025-07-04 15:22
e
- 26楼 107.***.***.132
- 2025-07-04 15:22
e
- 27楼 107.***.***.132
- 2025-07-04 15:22
e
- 28楼 107.***.***.132
- 2025-07-04 15:22
e
- 29楼 107.***.***.132
- 2025-07-04 15:22
e
- 30楼 107.***.***.132
- 2025-07-04 15:23
e
- 31楼 107.***.***.132
- 2025-07-04 15:23
e
- 32楼 107.***.***.132
- 2025-07-04 15:23
e
- 33楼 107.***.***.132
- 2025-07-04 15:23
e
- 34楼 107.***.***.132
- 2025-07-04 15:23
e
- 35楼 107.***.***.132
- 2025-07-04 15:23
e
- 36楼 107.***.***.132
- 2025-07-04 15:23
e
- 37楼 107.***.***.132
- 2025-07-04 15:23
e
- 38楼 107.***.***.132
- 2025-07-04 15:23
e
- 39楼 107.***.***.132
- 2025-07-04 15:23
e
- 40楼 107.***.***.132
- 2025-07-04 15:23
e
- 41楼 107.***.***.132
- 2025-07-04 15:23
e
- 42楼 107.***.***.132
- 2025-07-04 15:23
e
- 43楼 107.***.***.132
- 2025-07-04 15:23
e
- 44楼 107.***.***.132
- 2025-07-04 15:23
e
- 45楼 107.***.***.132
- 2025-07-04 15:23
e
- 46楼 107.***.***.132
- 2025-07-04 15:23
e
- 47楼 107.***.***.132
- 2025-07-04 15:24
e
- 48楼 107.***.***.132
- 2025-07-04 15:24
e
- 49楼 107.***.***.132
- 2025-07-04 15:24
e
- 50楼 107.***.***.132
- 2025-07-04 15:24
e
- 51楼 107.***.***.132
- 2025-07-04 15:24
e
- 52楼 107.***.***.132
- 2025-07-04 15:24
e
- 53楼 107.***.***.132
- 2025-07-04 15:24
e
- 54楼 107.***.***.132
- 2025-07-04 15:24
e
- 55楼 107.***.***.132
- 2025-07-04 15:24
e
- 56楼 107.***.***.132
- 2025-07-04 15:24
e
- 57楼 107.***.***.132
- 2025-07-04 15:25
e
- 58楼 107.***.***.132
- 2025-07-04 15:25
e
- 59楼 107.***.***.132
- 2025-07-04 15:25
e
- 60楼 107.***.***.132
- 2025-07-04 15:25
e
- 61楼 107.***.***.132
- 2025-07-04 15:25
e
- 62楼 107.***.***.132
- 2025-07-04 15:25
e
- 63楼 107.***.***.132
- 2025-07-04 15:25
e
- 64楼 107.***.***.132
- 2025-07-04 15:25
e
- 65楼 107.***.***.132
- 2025-07-04 15:25
e
- 66楼 107.***.***.132
- 2025-07-04 15:25
e
- 67楼 107.***.***.132
- 2025-07-04 15:25
e
- 68楼 107.***.***.132
- 2025-07-04 15:25
e
- 69楼 107.***.***.132
- 2025-07-04 15:25
e
- 70楼 107.***.***.132
- 2025-07-04 15:25
e
- 71楼 107.***.***.132
- 2025-07-04 15:25
e
- 72楼 107.***.***.132
- 2025-07-04 15:25
e
- 73楼 107.***.***.132
- 2025-07-04 15:25
e
- 74楼 107.***.***.132
- 2025-07-04 15:26
e
- 75楼 107.***.***.132
- 2025-07-04 15:26
e
- 76楼 107.***.***.132
- 2025-07-04 15:27
e
- 77楼 107.***.***.132
- 2025-07-04 15:27
e
- 78楼 107.***.***.132
- 2025-07-04 15:27
e
- 79楼 107.***.***.132
- 2025-07-04 15:27
e
- 80楼 107.***.***.132
- 2025-07-04 15:27
e
- 81楼 107.***.***.132
- 2025-07-04 15:27
e
- 82楼 107.***.***.132
- 2025-07-04 15:27
e
- 83楼 107.***.***.132
- 2025-07-04 15:27
e
- 84楼 107.***.***.132
- 2025-07-04 15:28
e
- 85楼 107.***.***.132
- 2025-07-04 15:28
e
- 86楼 107.***.***.132
- 2025-07-04 15:28
e
- 87楼 107.***.***.132
- 2025-07-04 15:28
e
- 88楼 107.***.***.132
- 2025-07-04 15:28
e
- 89楼 107.***.***.132
- 2025-07-04 15:28
e
- 90楼 107.***.***.132
- 2025-07-04 15:28
e
- 91楼 107.***.***.132
- 2025-07-04 15:28
e
- 92楼 107.***.***.132
- 2025-07-04 15:28
e
- 93楼 107.***.***.132
- 2025-07-04 15:28
e
- 94楼 107.***.***.132
- 2025-07-04 15:28
e
- 95楼 107.***.***.132
- 2025-07-04 15:28
e
- 96楼 107.***.***.132
- 2025-07-04 15:28
e
- 97楼 107.***.***.132
- 2025-07-04 15:28
e
- 98楼 107.***.***.132
- 2025-07-04 15:28
e
- 99楼 107.***.***.132
- 2025-07-04 15:28
e
- 100楼 107.***.***.132
- 2025-07-04 15:28
e
- 101楼 107.***.***.132
- 2025-07-04 15:28
e
- 102楼 107.***.***.132
- 2025-07-04 15:28
e
- 103楼 107.***.***.132
- 2025-07-04 15:28
e
- 104楼 107.***.***.132
- 2025-07-04 15:28
e
- 105楼 107.***.***.132
- 2025-07-04 15:28
e
- 106楼 107.***.***.132
- 2025-07-04 15:29
e
- 107楼 107.***.***.132
- 2025-07-04 15:29
e
- 108楼 107.***.***.132
- 2025-07-04 15:29
e
- 109楼 107.***.***.132
- 2025-07-04 15:29
e
- 110楼 107.***.***.132
- 2025-07-04 15:29
e
- 111楼 107.***.***.132
- 2025-07-04 15:29
e
- 112楼 107.***.***.132
- 2025-07-04 15:29
e
- 113楼 107.***.***.132
- 2025-07-04 15:29
e
- 114楼 107.***.***.132
- 2025-07-04 15:29
e
- 115楼 107.***.***.132
- 2025-07-04 15:30
e
- 116楼 107.***.***.132
- 2025-07-04 15:30
e
- 117楼 107.***.***.132
- 2025-07-04 15:30
e
- 118楼 107.***.***.132
- 2025-07-04 15:30
e
- 119楼 107.***.***.132
- 2025-07-04 15:30
e
- 120楼 107.***.***.132
- 2025-07-04 15:30
e
- 121楼 107.***.***.132
- 2025-07-04 15:30
e
- 122楼 107.***.***.132
- 2025-07-04 15:30
e
- 123楼 107.***.***.132
- 2025-07-04 15:30
e
- 124楼 107.***.***.132
- 2025-07-04 15:30
e
- 125楼 107.***.***.132
- 2025-07-04 15:30
e
- 126楼 107.***.***.132
- 2025-07-04 15:30
e
- 127楼 107.***.***.132
- 2025-07-04 15:31
e
- 128楼 107.***.***.132
- 2025-07-04 15:40
e


