扩展代码|  常用工具|  常用框架|  站内项目|  常用地址|  代码规范| 关于我们

Spring Boot入门学习3-Filter过滤器

所属分类:Java

 2020-10-16 17:32  1062  224  225  128

实现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() {

    }
}

如有帮助请打赏一下,分分是爱!!!
微信打赏
相关分类推荐
Spring boot + jdbcTemplate + MySQL增删改查

Spring boot + jdbcTemplate + MySQL增删改查

Spring boot + jdbcTemplate + MySQL增删改查, springboot+mybatis+MySQL逆向工程生成实体类
  Java
 1784  0  0
Tomcat在windows中设置自启动

Tomcat在windows中设置自启动

Tomcat在windows中设置自启动
  Java
 1715  0  0
JAVA时间戳

JAVA时间戳

记录java时间戳,便于以后学习和操作。
  Java
 1798  0  0
Spring Boot入门学习5-jar包windows自启动

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