日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

java filter 不过滤器_java过滤器不过滤某个货某一些路径

發(fā)布時間:2024/1/1 编程问答 38 豆豆
生活随笔 收集整理的這篇文章主要介紹了 java filter 不过滤器_java过滤器不过滤某个货某一些路径 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

展開全部

首先在web.xml 配置 參數(shù)

noLoginPaths ?參數(shù)名可自取

LoginFilter

com.imooc.filter.LoginFilter

noLoginPaths

login.jsp;fail.jsp;LoginServlet

charset

UTF-8

LoginFilter

/*

然后在 Filter 中,創(chuàng)建一個?FilterConfig 的引用, 這個引用在init中初始化,并且能夠62616964757a686964616fe4b893e5b19e31333363373763通過它獲取?中的key和value ?,

String?noLoginPaths?=?config.getInitParameter("noLoginPaths");然后通過判斷用戶請求的url 是否符合 noLoginPaths 中設(shè)置的不過濾選項,如果如何,就調(diào)用do.filter放行

關(guān)鍵代碼 :if(noLoginPaths!=null){

String[]?strArray?=?noLoginPaths.split(";");

for?(int?i?=?0;?i?

if(strArray[i]==null?||?"".equals(strArray[i]))continue;

if(request.getRequestURI().indexOf(strArray[i])!=-1?){

arg2.doFilter(arg0,?arg1);

return;

}

}

}

完整代碼:import?java.io.IOException;

import?javax.servlet.Filter;

import?javax.servlet.FilterChain;

import?javax.servlet.FilterConfig;

import?javax.servlet.ServletException;

import?javax.servlet.ServletRequest;

import?javax.servlet.ServletResponse;

import?javax.servlet.http.HttpServletRequest;

import?javax.servlet.http.HttpServletResponse;

import?javax.servlet.http.HttpSession;

public?class?LoginFilter?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;

HttpServletResponse?response?=?(HttpServletResponse)?arg1;

HttpSession?session?=?request.getSession();

String?noLoginPaths?=?config.getInitParameter("noLoginPaths");

String?charset?=?config.getInitParameter("charset");

if(charset==null){

charset?=?"UTF-8";

}

request.setCharacterEncoding(charset);

if(noLoginPaths!=null){

String[]?strArray?=?noLoginPaths.split(";");

for?(int?i?=?0;?i?

if(strArray[i]==null?||?"".equals(strArray[i]))continue;

if(request.getRequestURI().indexOf(strArray[i])!=-1?){

arg2.doFilter(arg0,?arg1);

return;

}

}

}

if(session.getAttribute("username")!=null){

arg2.doFilter(arg0,?arg1);

}else{

response.sendRedirect("login.jsp");

}

}

@Override

public?void?init(FilterConfig?arg0)?throws?ServletException?{

config?=?arg0;

}

}

總結(jié)

以上是生活随笔為你收集整理的java filter 不过滤器_java过滤器不过滤某个货某一些路径的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。