为了账号安全,请及时绑定邮箱和手机立即绑定

哪位童鞋知道在3.0版本用注解怎么配置noLoginPaths吗?

哪位童鞋知道在3.0版本用注解怎么配置noLoginPaths吗?

正在回答

3 回答

过滤器并没有noLogginPaths这个参数, 要是想实现只能在过滤器的初始化时候设置上哪些不要过滤。下面是练习写的一个demo

@WebFilter(urlPatterns = { "*.jsp" },initParams ={@WebInitParam(name = "myNoLoginPaths", value = "/cc.jsp;/dd.jsp") })
public class MyFilter implements Filter {

    private FilterConfig config;  
    
    @Override
    public void destroy() {
    }
    @Override
    public void doFilter(ServletRequest arg0, ServletResponse arg1,
            FilterChain arg2) throws IOException, ServletException {
        HttpServletRequest request = (HttpServletRequest) arg0;  
        
        //判断是否需要拦截
        boolean needFilte = true;
        //获取 不拦截的路径列表
        String noLoginPaths = config.getInitParameter("myNoLoginPaths");  
        if(noLoginPaths!= null && !"".equals(noLoginPaths)){
            String[] strings = noLoginPaths.split(";");
            for (String tempUrl : strings) {
                if(request.getRequestURI().indexOf(tempUrl)!=-1 ){  
                    needFilte = false;
                    break;
                }
                
            }
            
        }        
        
        if(needFilte){
            //具体的拦截处理逻辑
            System.out.println("过滤器处理业务"+request.getRequestURI());
        }
        
        arg2.doFilter(arg0, arg1);
        
        
        
        
    }

    @Override
    public void init(FilterConfig arg0) throws ServletException {
        config = arg0;
    }

}

1 回复 有任何疑惑可以回复我~
#1

qq_与赠_03193390 提问者

非常感谢!
2018-03-28 回复 有任何疑惑可以回复我~

好厉害呀

0 回复 有任何疑惑可以回复我~

在web.xml里面有一个init_param属性:

<init-param>

  <param-name>encoding</param-name>

  <param-value>UTF-8</param-value>

  </init-param>

  <init-param>

  <param-name>ignoreExistEncoding</param-name>

  <param-value>true</param-value>

  </init-param>

用这个配置就可以实现获取属性的

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

哪位童鞋知道在3.0版本用注解怎么配置noLoginPaths吗?

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信