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

标签: webfilter 过滤器 url | 发表时间:2015-05-22 21:28 | 作者:asjava
出处:http://www.iteye.com

解决方式:

@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之外

        }



已有 0 人发表留言,猛击->> 这里<<-参与讨论


ITeye推荐



相关 [webfilter 过滤器 url] 推荐:

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

- - 编程语言 - ITeye博客
        if (null!=excludedPages && excludedPages.length()!=0) { // 例外页面不为空   .         for (String page : excludedPageArray) {// 遍历例外url数组   .             // 判断当前URL是否与例外页面相同.

URL的井号

- chenqj - 阮一峰的网络日志
一个显著变化,就是URL加入了"#!"符号. 在我印象中,这是主流网站第一次将"#"大规模用于直接与用户交互的关键URL中. 这表明井号(Hash)的作用正在被重新认识. 本文根据HttpWatch的文章,整理与井号有关的所有重要知识点. 其右面的字符,就是该位置的标识符. 就代表网页index.html的print位置.

将URL编码?

- - JavaScript - Web前端 - ITeye博客
    URL一般只能由字母、数字、$ - _. * ' ( ) 等一些字符构成. 那么当URL中需要用到汉字时怎么办,譬如有这样的URL: "www.test.com/search?name=张三",此时,只有通过将URL进行编码的方式进行传递了.     Javascript编/解码方法:.     如果对上面的URL(www.test.com/search?name=张三)进行编码的话.

理清URL编码

- winners - Thinking for Fun
关于URL编码,RFC1738做了如下的规定:. “Only alphanumerics [0-9a-zA-Z], the special characters “$-_.+!*’(),” [not including the quotes - ed], and reserved characters used for their reserved purposes may be used unencoded within a URL.”.

iOS UIWebView URL拦截

- - 移动开发 - ITeye博客
本文译者: candeladiao,原文: URL filtering for UIWebView on the iPhone. 说明:译者在做app开发时,因为页面的javascript文件比较大导致加载速度很慢,所以想把javascript文件打包在app里,当UIWebView需要加载该脚本时就从app本地读取,但UIWebView并不支持加载本地资源.

URL最大长度问题

- - CSDN博客推荐文章
这几天为解决一个BUG头疼了一段时间,BUG现象如下:. 一个选择人员的选择控件,当选择多个人时(50多个的时候),返回没有错误现象,而再一次打开的时候就报404错误. 看到这个错误非常纳闷,无法下手,只能再一次看控件的代码,在详细看代码时,发现所有的参数都是经过URL传参的,赶紧百度一下URL参数的大小限制(从这个百度开始,我就进入一个误区:参数大小的限制).

URL中井号的作用

- - CSDN博客Web前端推荐文章
  URL中的井号(#)是比较常见的,它并不影响网址的指向,而是有众多功能和特点的. 下面就为大家介绍一些有关井号的故事.   1、页面中的某一个位置可以用井号在URL中指定.   井号作为比较长出现在URL的一种符号,通常也会代表这个页面中的某一个位置,比如:http://aoshu.juren.com/chzt/xiaoxueshijuan/index.html#nn1,此URL表示在这个页面中nn1的位置.

APP调用Custom URL Scheme

- - IT技术博客大学习
标签:   Scheme   跳转. Custom URL scheme 的好处就是,你可以在其它程序中通过这个url打开应用程序. 如A应用程序注册了一个url scheme:myApp,  那么就在mobile浏览器中就可以通过打开你的应用程序A. 首先在AndroidManifast.xml要被指定Scheme的Activity下设置如下参数.

Consul 常用url链接

- - Share