`
- 浏览:
290772 次
- 性别:
- 来自:
西安
-
- 一、使浏览器不缓存页面的过滤器
- import javax.servlet.*;
- import javax.servlet.http.HttpServletResponse;
- import java.io.IOException;
-
-
- public class ForceNoCacheFilter implements Filter {
-
- public void doFilter(ServletRequest request, ServletResponse response, FilterChain filterChain) throws IOException, ServletException
- {
- ((HttpServletResponse) response).setHeader("Cache-Control","no-cache");
- ((HttpServletResponse) response).setHeader("Pragma","no-cache");
- ((HttpServletResponse) response).setDateHeader ("Expires", -1);
- filterChain.doFilter(request, response);
- }
-
- public void destroy()
- {
- }
-
- public void init(FilterConfig filterConfig) throws ServletException
- {
- }
- }
-
- 二、检测用户是否登陆的过滤器
-
- import javax.servlet.*;
- import javax.servlet.http.HttpServletRequest;
- import javax.servlet.http.HttpServletResponse;
- import javax.servlet.http.HttpSession;
- import java.util.List;
- import java.util.ArrayList;
- import java.util.StringTokenizer;
- import java.io.IOException;
-
-
- public class CheckLoginFilter
- implements Filter
- {
- protected FilterConfig filterConfig = null;
- private String redirectURL = null;
- private List notCheckURLList = new ArrayList();
- private String sessionKey = null;
-
- public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain) throws IOException, ServletException
- {
- HttpServletRequest request = (HttpServletRequest) servletRequest;
- HttpServletResponse response = (HttpServletResponse) servletResponse;
-
- HttpSession session = request.getSession();
- if(sessionKey == null)
- {
- filterChain.doFilter(request, response);
- return;
- }
- if((!checkRequestURIIntNotFilterList(request)) && session.getAttribute(sessionKey) == null)
- {
- response.sendRedirect(request.getContextPath() + redirectURL);
- return;
- }
- filterChain.doFilter(servletRequest, servletResponse);
- }
-
- public void destroy()
- {
- notCheckURLList.clear();
- }
-
- private boolean checkRequestURIIntNotFilterList(HttpServletRequest request)
- {
- String uri = request.getServletPath() + (request.getPathInfo() == null ? "" : request.getPathInfo());
- return notCheckURLList.contains(uri);
- }
-
- public void init(FilterConfig filterConfig) throws ServletException
- {
- this.filterConfig = filterConfig;
- redirectURL = filterConfig.getInitParameter("redirectURL");
- sessionKey = filterConfig.getInitParameter("checkSessionKey");
-
- String notCheckURLListStr = filterConfig.getInitParameter("notCheckURLList");
-
- if(notCheckURLListStr != null)
- {
- StringTokenizer st = new StringTokenizer(notCheckURLListStr, ";");
- notCheckURLList.clear();
- while(st.hasMoreTokens())
- {
- notCheckURLList.add(st.nextToken());
- }
- }
- }
- }
分享到:
Global site tag (gtag.js) - Google Analytics
相关推荐
在标题"Servlet过滤器的简单使用源码+文档"中,我们可以理解为这个压缩包包含了一个关于Servlet过滤器的基础应用示例,以及相关的源代码和文档资料。描述中提到的"实现一个登陆界面",表明了过滤器可能被用作验证...
Servlet过滤器是Java Web开发中的一个重要组件,它允许开发者在请求到达Servlet之前或者响应离开Servlet之后进行拦截处理。本教程将深入讲解如何配置和使用Servlet过滤器,以及介绍五个经典的过滤器实例。 首先,让...
Servlet 过滤器 Filter 是 Servlet API 中一个非常重要的功能,它提供了一种标准化的方法来定义过滤器,能够检查进入资源的请求信息,并作出相应的选择。下面是 Servlet 过滤器 Filter 的详细知识点: 1. 过滤器的...
Servlet过滤器是Java Web开发中的一个重要概念,它允许开发者在请求到达目标Servlet之前或之后对请求和响应进行处理。在这个“servlet过滤器做的简单登陆demo”中,我们将探讨如何利用过滤器实现一个基础的登录验证...
Servlet过滤器(Filter)是Servlet API的一部分,定义在`javax.servlet.Filter`接口中。它们可以监控并修改Servlet容器接收到的HTTP请求,以及发送给客户端的HTTP响应。通过实现Filter接口并配置在web.xml文件中,...
Servlet过滤器是Servlet API的一部分,定义在`javax.servlet.Filter`接口中。它们的主要作用是拦截HTTP请求,对请求或响应进行预处理和后处理,比如登录检查、GZIP压缩、字符编码转换等。过滤器可以应用于整个Web...
因此,使用Servlet过滤器(Filter)来处理这类问题成为了一种更加优雅的解决方案。 #### 实例目标 本实例的目标是设计并实现一个简单的Servlet过滤器,用于检查用户的登录状态。具体来说,当用户通过正常的登录...
#### 一、Servlet过滤器的概念与作用 Servlet过滤器,作为Java Servlet规范中的一个重要组成部分,自2.3版本起被引入,主要用于在Servlet容器中对请求和响应进行预处理和后处理。它不直接生成请求或响应,而是作为...
Servlet过滤器是Java Web开发中的一个重要概念,它允许开发者在请求到达Servlet之前或者Servlet响应返回客户端之前进行拦截处理。在本实例中,我们将深入探讨Servlet过滤器(Filter)的使用和实现,以及它在实际应用...
Servlet过滤器是一种可以拦截请求和响应的组件,它可以在请求到达目标资源之前或响应返回客户端之前进行预处理。通过配置过滤器来统一处理字符编码问题,可以有效避免乱码的发生。 #### 三、实现步骤 1. **创建...
1、Filter接口:所有的Servlet过滤器类都必须实现javax.servlet.Filter接口 a、init(FilterConfig): 这是Servlet过滤器的初始化方法,Servlet容器创建Servlet过滤器实例后将调用这个方法。在这个方法中可以读取...
在IT领域,特别是Java Web开发中,Servlet过滤器(Filter)是实现用户权限管理、登录状态验证等关键功能的重要机制之一。本文将深入探讨如何利用Servlet过滤器来验证用户是否已登录,以及如何配置过滤器以针对特定的...
在Java Web开发中,Servlet过滤器(Filter)是不可或缺的一部分,它允许开发者在请求到达Servlet之前或响应离开Servlet之后对其进行处理。Servlet过滤器是按照指定的配置顺序进行调用的,能够实现数据的预处理、后...
Java Servlet过滤器是Java Web应用程序中的重要组件,它在请求被Servlet处理之前和响应返回给客户端之后进行拦截,可以用于实现各种功能,如字符编码转换、URL重写、权限控制等。本篇将深入讲解Java Servlet过滤器的...
Servlet过滤器是Java Web开发中的一个重要组件,它允许开发者在HTTP请求被Servlet处理之前或之后进行拦截和处理。在这个小型的基于Servlet的过滤器项目中,我们主要关注如何利用过滤器来实现对网站访问用户的计数...
#### 二、Servlet过滤器的概念 Servlet 过滤器是一种可以在请求到达目标资源之前或响应离开目标资源之后进行处理的组件。它可以用来实现诸如登录验证、编码转换、压缩、加解密等功能。过滤器可以通过web.xml文件...
而`过滤器(Filter)`是Servlet API的一部分,它提供了一种机制来拦截请求和响应,实现诸如登录验证、字符编码转换、性能监控等功能。在这个场景中,我们关注的是使用过滤器进行登录验证,以及如何利用`session`来...
Servlet过滤器是Java Web开发中的一个重要概念,它允许开发者在请求到达Servlet之前或者响应离开Servlet之后进行拦截处理。在这个实例代码中,我们将深入探讨Servlet过滤器的使用,以及如何通过它来增强应用程序的...
而Filter(过滤器)是Servlet API的一部分,它提供了一种机制,可以在请求到达目标资源之前或之后对请求和响应进行拦截处理。Filter在处理Web请求时扮演着不可或缺的角色,比如日志记录、权限验证、内容压缩等。以下...