`
asjava
  • 浏览: 137528 次
  • 性别: Icon_minigender_1
  • 来自: 沈阳
社区版块
存档分类
最新评论

使用@WebFilter过滤器中设置例外URL的一种方式

 
阅读更多

解决方式:

@WebFilter(filterName="/CodeFilter",urlPatterns="/*"
    ,initParams={@WebInitParam(name ="EXCLUDED_PAGES" , value = "login.jsp;loginAction")})

public class AuthorizationCodeFilter implements Filter {


    private String excludedPages;      
    private String[] excludedPageArray;

 

    public void init(FilterConfig fConfig) throws ServletException {
        excludedPages = fConfig.getInitParameter("EXCLUDED_PAGES");    
        if (null!=excludedPages && excludedPages.length()!=0) { // 例外页面不为空   
            excludedPageArray = excludedPages.split(String.valueOf(';'));    
        }   
    }


        public void destroy() {
        this.excludedPages = null;
        this.excludedPageArray = null;
    }

 

    public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException {
        HttpServletRequest req = (HttpServletRequest) request;
        boolean isExcludedPage = false; 
        for (String page : excludedPageArray) {// 遍历例外url数组   

            // 判断当前URL是否与例外页面相同
            if(req.getServletPath().substring(1).equals(page)){ // 从第2个字符开始取(把前面的/去掉)
                System.out.println(page + ", you're excluded.");
                isExcludedPage = true;    
                break;    
            }    
        }  
        if (isExcludedPage) {//在过滤url之外    
            chain.doFilter(request, response);    
        }
        else {// 不在过滤url之外

        }

分享到:
评论

相关推荐

    springboot @WebFilter注解过滤器的实现

    SpringBoot 框架提供了多种方式来实现过滤器,例如使用 Servlet Filter API 或者使用 Spring 的 HandlerInterceptor机制,但是 SpringBoot 2.x 版本中引入了新的 @WebFilter 注解,提供了更加简洁和灵活的方式来实现...

    java Web项目中过滤器使用方法

    - **初始化**:当Web应用启动时,每个过滤器的`init()`方法会被调用一次,用于设置过滤器的初始状态。 - **过滤**:每当一个请求匹配到过滤器的配置时,`doFilter()`方法会被调用,它接收`ServletRequest`和`...

    java 中如何使用filter过滤器

    本文将详细介绍如何在Java中使用Filter过滤器,以及如何配置相关的配置文件,让你一目了然。 ### 1. Filter接口与生命周期 Filter是Servlet API中的一个接口,位于`javax.servlet`包下。它定义了三个关键方法: -...

    过滤器Filter的全面解析

    在Java的Web开发中,过滤器(Filter)是不可或缺的一部分,尤其在J2EE环境中,它扮演着重要的角色。过滤器提供了一种机制,可以对HTTP请求和响应进行拦截、处理,甚至修改,从而实现诸如数据校验、权限控制、字符...

    Web后端开发-使用Filter过滤器技术,实现访问量统计

    在Web后端开发中,Filter过滤器是一种非常重要的技术,它允许开发者在请求到达目标Servlet或者JSP之前以及响应返回给客户端之后进行拦截处理。在本教程中,我们将重点探讨如何利用Filter技术来实现访问量统计,特别...

    过滤器的使用过滤器的使用

    在Java Web开发中,过滤器(Filter)是一个非常重要的组件,它允许我们在数据处理的各个环节进行拦截、修改或增强处理。本篇文章将深入探讨Java中的过滤器使用技术,旨在帮助开发者理解和掌握这一核心技术。 首先,...

    Web后端开发-使用Filter过滤器技术,实现访问量统计-方法二使用web.xml配置的方式

    在Web后端开发中,Filter过滤器是一种非常重要的技术,它允许我们在请求被Servlet处理之前或之后进行拦截和处理。本篇文章将详细讲解如何通过使用`web.xml`配置文件来实现Filter过滤器,以实现对网站访问量的统计。...

    filter过滤器的简单使用.rar

    在标题提到的"filter过滤器的简单使用.rar"压缩包中,很显然包含了一个关于如何在Maven项目和Spring Boot项目中使用Filter的示例。下面将详细介绍Filter的基本概念、工作原理以及如何在两种项目环境中应用。 **...

    JAVAEE过滤器的使用

    在JAVAEE平台上,过滤器(Filter)是一种强大的工具,它允许开发者在请求到达Servlet之前或Servlet响应返回客户端之后对请求和响应进行处理。过滤器在Java Web应用中扮演着重要角色,可以实现如数据验证、登录检查、...

    防止sql注入的url过滤器【java filter】

    在IT行业中,安全是至关重要的一个环节,尤其是在Web开发中,SQL注入是一种常见的攻击手段,它允许黑客通过构造恶意的SQL语句来获取、修改、删除数据库中的敏感信息。为了解决这一问题,我们可以利用Java的Filter...

    servlet过滤器技术实例,

    总结,Servlet过滤器是Java Web开发中不可或缺的一部分,它为我们提供了一种灵活、可扩展的方式来处理HTTP请求和响应。通过合理地设计和配置过滤器,我们可以实现各种功能,提高应用程序的安全性和效率。在学习和...

    filter过滤器防止恶意注入

    1. `init(FilterConfig filterConfig)`: 这个方法在过滤器初始化时被调用,可以用来设置配置参数,例如在`web.xml`中定义的URL模式。 2. `doFilter(ServletRequest request, ServletResponse response, FilterChain...

    filter的使用 java 过滤器的几种使用方法

    在Java的Web开发中,过滤器(Filter)是一种非常实用的技术,它可以在请求到达目标资源(如Servlet或JSP页面)之前或响应离开容器之后进行处理。本文将深入探讨Java中过滤器的几种使用方法及其应用场景,以帮助...

    Springboot中使用过滤器映射访问路径

    在实际应用中,你可以根据项目需求调整过滤器的映射规则,例如只对特定的URL模式生效,或者设置过滤器的顺序以控制执行的优先级。过滤器的顺序非常重要,因为它决定了哪些过滤器会先执行。你可以通过`...

    servlet过滤器实例经典过滤器

    2. 在web.xml文件中定义过滤器,包括设置过滤器的类名、过滤器名称和过滤规则(URL模式或Servlet名称)。 3. 实现doFilter()方法,这是过滤器的核心,用于拦截请求和响应。 接下来,我们将探讨五个经典的Servlet...

    过滤器文档过滤器使用中的方法过滤器.pdf

    总结起来,过滤器是Web应用中不可或缺的一部分,它们提供了强大的功能,如数据安全、编码一致性以及自动化操作。通过合理地使用过滤器,开发者可以更高效地管理和控制Web应用的流量,提高应用的安全性和用户体验。...

    java过滤器的使用

    Java过滤器(Filter)是Java Web开发中的一个重要概念,它主要应用于Servlet容器中,如Tomcat、Jetty等。过滤器允许我们在请求被发送到目标资源(如Servlet、JSP页面)之前或之后进行预处理和后处理。在这个场景中,...

    过滤器(filter) 例子源码

    在Java Web开发中,过滤器(Filter)是一个非常重要的组件,它允许开发者在请求被处理之前或之后执行一些预定义的任务。本篇文章将基于提供的标题和描述,详细讲解过滤器的概念、工作原理以及如何通过源码实现一个...

    编码过滤器

    在Web开发中,编码过滤器(Encoding Filter)是一种常见的技术,用于处理HTTP请求中的编码问题,确保数据在传输过程中的正确性。标题“编码过滤器”直指这一关键概念,而描述“配置在web.xml中的过滤器,支持过滤GET...

Global site tag (gtag.js) - Google Analytics