java filter 不过滤器_java过滤器不过滤某个货某一些路径
展开全部
首先在web.xml 配置 参数
noLoginPaths 参数名可自取
LoginFilter
com.imooc.filter.LoginFilter
noLoginPaths
login.jsp;fail.jsp;LoginServlet
charset
UTF-8
LoginFilter
/*
然后在 Filter 中,创建一个 FilterConfig 的引用, 这个引用在init中初始化,并且能够62616964757a686964616fe4b893e5b19e31333363373763通过它获取 中的key和value ,
String noLoginPaths = config.getInitParameter("noLoginPaths");然后通过判断用户请求的url 是否符合 noLoginPaths 中设置的不过滤选项,如果如何,就调用do.filter放行
关键代码 :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;
}
}
java filter 不过滤器_java过滤器不过滤某个货某一些路径相关推荐
- java filter 不过滤器_Java中的Filter过滤器
Filter简介 Filter也称之为过滤器,它是Servlet技术中最实用的技术,Web开发人员通过Filter技术,对web服务器管理的所有web资源:例如Jsp, Servlet, 静态图片文件 ...
- java filter加时间戳_java filter加时间戳
java filter加时间戳 [2021-01-31 18:31:52] 简介: java时间戳转php时间戳的方法:首先将java时间戳转成字符串,代码为[$utStr = $javaUt . ...
- java 拦截器 排除_java – Spring MVC Interceptor排除HTTP方法的路径
我有一些拦截器需要在我的API的一些请求中检查标头和授权.例如,某些请求应该要求用户身份验证(例如,从数据库更改用户详细信息),有些请求不需要身份验证(例如,创建用户).不幸的是,从拦截器中排除路径的 ...
- java file源码_java File源码理解,探索File路径
1.方法: new File(path); 我们知道根据输入的路径path的不同 ,File可以根据path的不同格式,来访问文件.那么,path的形式有几种呢? 根据源码 可以知道,输入的路径pat ...
- java过滤器filter过滤某个包_Java过滤器Filter使用详解
过滤器 过滤器是处于客户端与服务器资源文件之间的一道过滤网,在访问资源文件之前,通过一系列的过滤器对请求进行修改.判断等,把不符合规则的请求在中途拦截或修改.也可以对响应进行过滤,拦截或修改响应. 如 ...
- java filter教程_Java Web Filter 过滤器学习教程(推荐)
一.Filter简介 Filter也称之为过滤器,它是Servlet技术中最激动人心的技术,WEB开发人员通过Filter技术,对web服务器管理的所有web资源:例如Jsp, Servlet, 静态 ...
- filter过滤器_Java过滤器Filter讲解(Java基础)
Java过滤器Filter讲解(Java基础) 双体的小伙伴们,Java过滤器Filter讲解(Java基础).初学JAVA的的学者们,今天满满的干货,跟随我一起学习吧. 超能就在这里 ...
- java 监听器 分类_java过滤器和监听器详解 分类: 学习专区
过滤器 1.Filter工作原理(执行流程) 当客户端发出Web资源的请求时,Web服务器根据应用程序配置文件设置的过滤规则进行检查,若客户请求满足过滤规则,则对客户请求/响应进行拦截,对请求头和请求 ...
- java 过滤列表_Java 8 Stream过滤列表中列表的值
我有一个看起来如下的对象 class MyObject { String type; List subTypes; } 是否有可能,给定一个MyObject列表,使用Java 8流来过滤类型和子类型? ...
最新文章
- “地理智慧 链接未来”,2020 GIS 软件技术大会主题大会召开
- 华为eNSP模拟器学习(一)
- 2兼容鼠标无法禁用一直乱动_雷柏ralemo气垫鼠标:金属镂空无线充电,机械滚珠情怀在线...
- linux基础命令_Linux命令基础大全
- BUUCTF-WEB:[极客大挑战 2019]LoveSQL 1
- PB代码动态解析执行器
- 【转载】【SQL】Sql Server Management Studio 18 打开闪退问题
- 硬件工程师成长之路(4)——元件焊接
- 音乐播放器的js代码
- 简谈校招新员工培养方案
- 特种浓缩分离:无机陶瓷膜设备性能描述
- 《Hexo: 从零开始编写自己的主题》3. 优化样式,设计自己的主题
- imu oracle,IMU技术
- CSS、HTML补充
- DPI、PPI、DP、PX 的详细计算方法及算法来源是什么
- zsh 缺少 /usr/local/share/zsh/site-functions/_brew_cask
- Error fetching server time: Detected 31.361999988555908 seconds time difference between your browser
- SfxMCP基于rtsp协议H5无插件直播方案中RTSP设备的接入方法 - sfxlab
- PTA 7-33 统计素数并求和
- 好时巧克力公司加入区块链广告联盟