在web.xml中配置登陆过滤器:

<!-- 配置登陆过滤器 -->
<filter>
<filter-name>loginFilter</filter-name>
<filter-class>weijiabin.BBS.Utils.LoginFilter</filter-class>
<init-param>
<param-name>passUrl</param-name>
<param-value>index;login;FunctionServlet</param-value>
</init-param>
</filter> <filter-mapping>
<filter-name>loginFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
上边代码中的param-value用来设置不进行拦截的地址关键字(以;作为分隔符),在下边过滤器代码中用passUrl表示

然后写过滤器代码:
public class LoginFilter implements Filter {

	@Override
public void destroy() {
// TODO Auto-generated method stub }
String passUrl = "";
@Override
public void doFilter(ServletRequest arg0, ServletResponse arg1, FilterChain arg2)
throws IOException, ServletException {
HttpServletRequest httpRequest=(HttpServletRequest)arg0;
HttpServletResponse httpResponse=(HttpServletResponse)arg1;
HttpSession session=httpRequest.getSession();
String[] strArray = passUrl.split(";");
          //下边循环作用是依次检查访问的url中是否包含passurl中的关键字,如果包含则不进行拦截
for (String str : strArray) {
if (str.equals(""))//如果在上边配置中设置的url为空,则说明都需要进行拦截,跳过此循环
continue;
if (httpRequest.getRequestURL().indexOf(str) >= 0) {
arg2.doFilter(httpRequest, httpResponse);
return;
}
} if(session.getAttribute("sessionUser")!=null){
arg2.doFilter(httpRequest, httpResponse);
}
else{
httpResponse.sendRedirect(httpRequest.getContextPath()+"/login.jsp");
}
} @Override
public void init(FilterConfig arg0) throws ServletException {
// TODO Auto-generated method stub
passUrl = arg0.getInitParameter("passUrl");
}
}

  

javaweb登陆过滤器实现的更多相关文章

  1. javaweb——登陆权限过滤器的编写

    http://blog.csdn.net/lzc4869/article/details/50935858

  2. [javaweb]Java过滤器与包装设计模式的实用案例.

    在filter中可以得到代表用户请求和响应的request.response对象,因此在编程中可以使用Decorator(装饰器)模式对request.response对象进行包装,再把包装对象传给目 ...

  3. JavaWeb基础—过滤器Filter

    一.概念 JavaWeb三大组件之一(组件都有一个特性,需要在web.xml中配置) 过滤器:会在一组资源(jsp servlet等)的前面执行,可以让请求得到目标资源,也可以终止请求,不再继续 也就 ...

  4. JavaWeb 之过滤器

    1. 什么是过滤器 Servlet 是用来处理请求的, 过滤器是用来拦截请求的. 当用户请求某个 Servlet 时,会先执行部署在这个请求上的 Filter, 而 Filter 决定是否调用 Ser ...

  5. IT兄弟连 JavaWeb教程 过滤器3

    过滤器案例:字符编码过滤器 在JavaWeb程序开发中,由于Web容器内部所使用编码格式并不支持中文字符集,所以,处理浏览器请求中的中文数据就会出现乱码现象. 图3  无字符编码过滤器 从上图可以看出 ...

  6. IT兄弟连 JavaWeb教程 过滤器1

    Servlet过滤器是从Servlet2.3规范开始新增的功能,并在Servlet2.4规范中得到增强,监听器可以监听到Web应用程序启动和关闭.创建过滤器和监听器需要继承相应接口,并对其进行配置. ...

  7. JavaWeb——Filter过滤器

    1.Filter的目的 Filter用于在Servlet之前检测和修改请求和响应,它可以拒绝.重定向或转发请求.常见的有这几种: 日志过滤器 使用过滤器记录请求,提供请求日志记录,还可以添加追踪信息用 ...

  8. JavaWeb 10_Filter过滤器

    一.什么是Filter? 1.Filter 过滤器它是JavaWeb的三大组件之一-.三大组件分别是: Servlet 程序.Listener 监听器.Filter 过滤器2.Filter 过滤器它是 ...

  9. javaweb 登陆注册页面

    视图的数据修改,表中也修改引用工具类用<%@ page import=""%> <%@ page import="java.util.Date" ...

随机推荐

  1. [Swift]LeetCode386. 字典序排数 | Lexicographical Numbers

    Given an integer n, return 1 - n in lexicographical order. For example, given 13, return: [1,10,11,1 ...

  2. [Swift]LeetCode396. 旋转函数 | Rotate Function

    Given an array of integers A and let n to be its length. Assume Bk to be an array obtained by rotati ...

  3. 老司机教你用原生JDK 撸一个 MVC 框架!!!

    其实 Spring MVC 是一个基于请求驱动的 Web 框架,并且也使用了前端控制器模式来进行设计,再根据请求映射规则分发给相应的页面控制器进行处理,具体工作原理见下图. 在这里,就不详细谈相关的原 ...

  4. Markdown语法简介

    1.标题 在想要设置为标题的文字前面加#来表示一个#代表一级标题,总共六级 2.字体 加粗要加粗的文字左右分别用两个*号包起来 斜体要倾斜的文字左右分别用一个*号包起来 斜体加粗要倾斜和加粗的文字左右 ...

  5. 【译】编写支持SSR的通用组件指南

    原文来自:https://blog.lichter.io/posts/the-guide-to-write-universal-ssr-ready-vue-compon?utm_campaign=Vu ...

  6. 十分钟通过 NPM 创建一个命令行工具

    大过年的,要不要写点代码压压惊?来花十分钟学一下怎么通过 NPM 构建一个命令行工具. 写了一个小 demo,用于代替 touch 的创建文件命令 touchme ,可以创建自带“佛祖保佑”注释的文件 ...

  7. ASP.NET Core 2.0 MVC - 获取当前登录用户信息

    一.前言 上篇实战完成后,没想到会有那么多的圈友给了那么多的支持,甚至连只是作为代码仓储的git上也给了一些小星星,真的感觉很惶恐啊,哈哈哈,毕竟代码写的很烂啊.由于上一篇只是大概说了下项目,所以准备 ...

  8. JVM基础系列第7讲:JVM 类加载机制

    当 Java 虚拟机将 Java 源码编译为字节码之后,虚拟机便可以将字节码读取进内存,从而进行解析.运行等整个过程,这个过程我们叫:Java 虚拟机的类加载机制.JVM 虚拟机执行 class 字节 ...

  9. css奇淫巧计

    <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...

  10. [转]基于.NET平台常用的框架整理

    自从学习.NET以来,优雅的编程风格,极度简单的可扩展性,足够强大开发工具,极小的学习曲线,让我对这个平台产生了浓厚的兴趣,在工作和学习中也积累了一些开源的组件,就目前想到的先整理于此,如果再想到,就 ...