`
花太香
  • 浏览: 25989 次
  • 性别: Icon_minigender_1
最近访客 更多访客>>
社区版块
存档分类
最新评论

过滤器——LoginFilter

    博客分类:
  • Java
阅读更多
import java.io.IOException;
import java.io.PrintWriter;

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;

/**
*
* @author HuangHui
*
*/
public class LoginFilter implements Filter {

public void destroy() {

}

public void doFilter(ServletRequest request, ServletResponse response,
FilterChain chain) throws IOException, ServletException {

HttpServletRequest req = (HttpServletRequest) request;
HttpServletResponse resp = (HttpServletResponse) response;

// 获得通道
resp.setContentType("text/html;charset=UTF-8");
PrintWriter out = resp.getWriter();
// 获得session
HttpSession session = req.getSession();
// 获得资源路径
String url = req.getServletPath();
// System.out.println("url:" + url);

// 去掉某些不能过滤的资源
if (url.equals("/login.jsp")) {
chain.doFilter(req, resp);
return;
}
if (session.getAttribute("login") == null) {
out.println("您还没有登录,3秒后自动转入登录页面!!!");
// 重定向
resp.setHeader("refresh", "3;url=/bsemgr/login.jsp");
} else {
chain.doFilter(req, resp);
}
}

public void init(FilterConfig arg0) throws ServletException {

}

}



-------------- web.xml 的配置如下 ---------------
<!-- 配置LoginFilter -->
<filter>
<filter-name>LoginFilter</filter-name>
<filter-class>com.weidu.imp.util.LoginFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>LoginFilter</filter-name>
<url-pattern>*.jsp</url-pattern>
</filter-mapping>
1
2
分享到:
评论

相关推荐

    jsp 过滤器——解决中文乱码问题

    ### jsp过滤器——解决中文乱码问题 #### 背景介绍 在Web应用开发过程中,特别是使用Java Server Pages (JSP)进行中文字符处理时,经常遇到的一个问题是中文字符显示为乱码。这主要是因为客户端与服务器端之间存在...

    servlet+jsp实现过滤器 防止用户未登录访问

    过滤器类LoginFilter中有几个关键的方法。首先是doFilter方法,这个方法是过滤器的核心,每次请求都会被拦截到这个方法中。在doFilter方法中,我们首先获取了请求和响应对象,然后通过HttpSession对象来判断是否存在...

    软件体系结构风格——管道过滤器课件

    管道过滤器风格是其中一种常见的数据流体系结构,它以数据为中心,通过一系列处理单元(过滤器)对数据进行操作。在这个课件中,我们将深入探讨这种风格的特点、优势和应用场景。 首先,数据流体系结构(Data Flow ...

    过滤器(java编写的过滤器)

    这里定义了一个名为`loginFilter`的过滤器,其具体实现类为`spell.loginFilter`。这意味着在应用中,存在一个名为`spell.loginFilter`的Java类,这个类实现了`javax.servlet.Filter`接口,定义了过滤器的具体逻辑。 ...

    五个有用的过滤器.doc

    首先,我们来看第一个过滤器——`ForceNoCacheFilter`。这个过滤器的主要作用是防止浏览器缓存页面内容。在Web应用中,有时我们希望每次用户访问页面时都能获取最新的数据,而不是使用浏览器缓存的旧版本。通过实现`...

    Java Web基础入门第七十九讲 Filter(过滤器)——Filter(过滤器)常见应用(三):权限管理系统(下)-附件资源

    Java Web基础入门第七十九讲 Filter(过滤器)——Filter(过滤器)常见应用(三):权限管理系统(下)-附件资源

    多介质过滤器设计规范

    多介质过滤器设计规范主要涉及了工业水处理领域中一种重要的设备——多介质过滤器,其主要用于去除水中的悬浮物、胶体、微生物、有机物和油等杂质,以提升水质,确保供水满足使用需求。以下是对规范书中关键知识点的...

    ESET过滤规则——反流氓网页游戏【7月4日更新】

    标题中的“ESET过滤规则——反流氓网页游戏【7月4日更新】”指的是ESET网络安全软件中针对防止恶意网页游戏的过滤策略进行了更新。ESET是一款知名的反病毒和网络安全解决方案,它提供了一系列的防护机制,包括网页...

    blazeds message filter 过滤消息——在聊天室的应用

    在聊天室应用中,消息过滤器尤其关键,因为它可以确保用户发送的信息符合预设规则,从而维护聊天环境的秩序。 首先,我们来看BlazeDS的核心功能。BlazeDS提供了以下主要服务: 1. **Remoting服务**:允许Flex...

    servlet四个有用的过滤器

    给定的内容中提到了一个具体的缓存过滤器——`ForceNoCacheFilter`。这个过滤器的作用是禁用浏览器端的缓存,确保每次请求都获取最新的数据。具体实现方式是在响应头中设置 `"Cache-Control"`, `"Pragma"`, 和 `...

    web学习笔记 —— 过滤器

    本文将深入探讨过滤器的概念、工作原理以及如何在Java Web应用程序中使用过滤器。 过滤器是Servlet规范的一部分,它通过实现javax.servlet.Filter接口来创建。这个接口定义了三个主要方法:doFilter、init和destroy...

    网络编程 过滤器链例子

    - 假设我们有两个过滤器,`LoginFilter`负责检查用户是否已登录,`EncodingFilter`用于设置请求和响应的编码格式。 - `LoginFilter`首先被调用,检查session中是否有登录信息,如果没有,重定向到登录页面;如果已...

    使用过滤器实现判断用户是否登录验证.

    过滤器(Filter)是Java Servlet技术中的一种机制,用于在请求到达实际处理请求的Servlet之前进行预处理,或者在响应发送回客户端之后进行后处理。在这个场景下,我们讨论的是如何使用过滤器来实现用户登录验证的...

    使用过滤器完成用户登录验证

    这里,我们定义了一个名为"LoginFilter"的过滤器,并将其映射到URL模式"/protected/*",这意味着所有以"/protected/"开头的请求都将经过这个过滤器的验证。 通过这种方式,我们可以有效地控制用户访问权限,提高...

    jsp过滤器的使用(含一个project实例说明)

    首先,创建过滤器类`LoginFilter`: ```java import javax.servlet.*; import java.io.IOException; public class LoginFilter implements Filter { @Override public void init(FilterConfig filterConfig) ...

    Java中过滤器的使用

    在Java Web开发中,过滤器(Filter)是一个非常重要的组件,它允许我们在数据处理之前或之后执行特定逻辑,实现如权限控制、字符编码转换、日志记录等功能。本篇文章将详细探讨Java中过滤器的使用,并通过一个具体的...

Global site tag (gtag.js) - Google Analytics