`
sylinx_yqg
  • 浏览: 145076 次
  • 性别: Icon_minigender_1
  • 来自: 福建 漳州
社区版块
存档分类
最新评论

转载-两个Filter类:登录过滤和编码过滤

阅读更多
 
import javax.servlet.FilterChain;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
import java.io.IOException;
import javax.servlet.Filter;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.ServletException;
import javax.servlet.FilterConfig;


 
/**//*
 * 
 * @author Ace
 * web.xml配置如下: 
 * <filter> 
 * <filter-name>login</filter-name>
 * <filter-class>
 * org.waityou.news.util.filters.LoginFilter
 * </filter-class>
 * </filter> 
 * <filter-mapping> 
 * <filter-name>login</filter-name>
 * <url-pattern>/manager/*</url-pattern> 
 * </filter-mapping>
 
*/

public class LoginFilter implements Filter ...{

    
protected FilterConfig filterConfig;

    
public void doFilter(final ServletRequest req, final ServletResponse res,
            FilterChain chain) 
throws IOException, ServletException ...{
        HttpServletRequest hreq 
= (HttpServletRequest) req;
        HttpServletResponse hres 
= (HttpServletResponse) res;
        String isLog 
= (String) hreq.getSession().getAttribute("isLog");
        
if ((isLog != null&& ((isLog.equals("true")) || (isLog == "true")))//检查是否登录
        ...{
            chain.doFilter(req, res);
            
return;
        }
 else
            hres.sendRedirect(
"/error.html");//如果没有登录,把视图派发到登录页面
    }


    
public void destroy() ...{
        
this.filterConfig = null;
    }


    
public void init(FilterConfig config) ...{
        
this.filterConfig = config;
    }


    
public void setFilterConfig(final FilterConfig filterConfig) ...{
        
this.filterConfig = filterConfig;
    }

}





SetCharacterEncodingFilter.java:

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;

/** *//** *//** *//**
 * 
@author Ace 编码过滤,一律设置成UTF-8
 * 
 * web.xml中配置如下: 
 * <filter>
 * <filter-name>Set Character Encoding</filter-name>
 * <filter-class>
 * org.waityou.news.util.filters.SetCharacterEncodingFilter
 * </filter-class> 
 * </filter> 
 * <filter-mapping>
 * <filter-name>Set Character Encoding</filter-name> 
 * <url-pattern>/*</url-pattern>
 * </filter-mapping>
 
*/

public class SetCharacterEncodingFilter implements Filter ...{
    
    
public void destroy() ...{}
    
public void doFilter(ServletRequest request, ServletResponse response,
            FilterChain chain) 
throws IOException, ServletException ...{
        request.setCharacterEncoding(
"UTF-8");
        
// 传递控制到下一个过滤器
        chain.doFilter(request, response);
    }

    
    
public void init(FilterConfig filterConfig) throws ServletException ...{}

}
 


分享到:
评论

相关推荐

    SpringBoot .yml

    - **`filter`**:配置Druid提供的过滤器。 - **`merge-sql`**:合并多个SQL语句统计。 - **`slow-sql-millis`**:慢SQL阈值。 - **`web-stat-filter`**:Web监控页面的统计滤过器配置。 - **`enabled`**:是否启用...

    javaFilter自定义编码过滤器

    在 Java 中, Filter 接口和 FilterChain 接口是 Servlet 规范中的两个重要组件。 Filter 接口用于定义一个过滤器, FilterChain 接口用于将多个过滤器连接起来,以便实现链式调用。 * Filter 接口: Filter 接口是...

    编码过滤器

    综上所述,编码过滤器是Java Web开发中的重要组件,它确保了数据在GET和POST请求中的正确传输,通过在`web.xml`中配置,可以对整个应用或者特定URL路径进行全局的编码统一,有效防止乱码问题,提高应用的健壮性和...

    spring-boot 过滤器 filter

    多个Filter可以组成一个过滤链,Spring Boot会根据`FilterRegistrationBean`的顺序进行执行。默认情况下,Spring Boot的内置Filter会先执行,然后是用户自定义的Filter。 总结,Spring Boot的过滤器机制提供了强大...

    Java_Filter过滤机制详解.doc

    ### Java Filter过滤机制详解 #### 一、什么是Filter Filter技术是Servlet 2.3版本中新引入的一个功能,它的主要作用在于对Web应用中的请求和响应进行预处理和后处理。Filter本身并不是一个Servlet,因此它不能...

    过滤器与监听器

    在Java Web开发中,过滤器(Filter)和监听器(Listener)是两个非常重要的概念,它们主要用于增强应用程序的功能和管理应用程序的生命周期。本篇将详细阐述这两个知识点。 **过滤器(Filter)** 过滤器是在...

    filter过滤器的简单使用.rar

    在标题提到的"filter过滤器的简单使用.rar"压缩包中,很显然包含了一个关于如何在Maven项目和Spring Boot项目中使用Filter的示例。下面将详细介绍Filter的基本概念、工作原理以及如何在两种项目环境中应用。 **...

    python2.7 库参考 英文版

    - `cmp()`: 比较两个对象并返回-1、0或1。 - `dir()`: 返回对象的有效属性列表。 - `enumerate()`: 将可迭代对象转化为索引序列。 - `eval()`: 执行字符串表达式。 - `execfile()`: 执行文件中的Python代码。 - `...

    过滤器filter和监听器listener的应用总结

    在Java Web开发中,过滤器(Filter)和监听器(Listener)是两个非常重要的概念,它们主要用于增强应用程序的功能和管理应用程序的状态。这篇文章将对这两者的应用进行深入的总结。 **过滤器Filter** 过滤器是在...

    springBoot-java敏感词语过滤类

    2. **双指针法**: 通过两个指针分别从文本的首尾开始查找敏感词,一旦找到敏感词的一部分,就向中间扩展,直到找到完整的敏感词或者无法扩展为止。 3. **字节编码处理**: 由于敏感词可能涉及多种字符编码,所以过滤...

    jsp/servlet中过滤器和监听器的区别

    在这些技术中,过滤器(Filter)和监听器(Listener)是两个关键的概念,它们在处理请求、响应以及管理应用程序状态时发挥着重要作用。下面将详细讲解这两者的区别。 1. **过滤器(Filter)** - **定义**:过滤器...

    spring boot 拦截器拦截/Filter 过滤session案例

    在本文中,我们将深入探讨如何在Spring Boot应用中使用拦截器(Interceptor)和过滤器(Filter)来处理用户的登录session。这两个组件都是Spring框架的重要部分,它们在处理HTTP请求和响应时发挥着关键作用。 首先...

    ffmpeg-gl-transition:FFmpeg过滤器,用于在视频流之间应用GLSL过渡

    在这个命令中,`input1.mp4`和`input2.mp4`是你要合并的两个视频文件,`your_shader.frag`是包含GLSL过渡效果的着色器文件,`duration=2`表示过渡持续2秒。最后,`output.mp4`是输出的视频文件。 值得注意的是,`...

    TCP-IP详解卷2:实现

    书中详细介绍了两种主要的编程接口——Socket API和Berkley Packet Filter (BPF) API,这两种接口在Unix和非Unix系统中被广泛用于编写TCP/IP协议。Socket API是网络通信的基础,而BPF则主要用于网络数据包的过滤和...

    Java-filter过滤器在项目开发中的应用.docx

    在项目开发中,Java-filter过滤器可以应用于解决各种问题,以下是其中的两种应用: 应用一:统一项目的字符编码 在项目开发中,字符编码问题是一个常见的问题。如果项目中的字符编码不统一,可能会导致乱码问题。...

    关于web.xml配置文件记录.docx

    - **功能**:提供小图标和大图标两个子元素,用于表示Web应用的图标位置。 - **子元素**: - `&lt;small-icon&gt;`:指定大小为16x16像素的小图标路径。 - `&lt;large-icon&gt;`:指定大小为32x32像素的大图标路径。 - **格式...

    listener和filter 监听器和过滤器的介绍以及简单使用(csdn)————程序.pdf

    1. **过滤器定义**:过滤器是实现了javax.servlet.Filter接口的Java类,它可以在请求到达目标资源(如Servlet、JSP)之前和之后执行操作,如权限验证、字符编码转换、日志记录等。 2. **过滤器链**:多个过滤器可以...

    Servlet--2.filter

    在Java Web开发中,Servlet和Filter是两个非常重要的概念,特别是在构建动态Web应用程序时。`Servlet` 是Java提供的一种用于扩展服务器功能的接口,而`Filter` 则是在Servlet之上的一种高级机制,它允许开发者对HTTP...

    STRUTS ActionForm乱码,servlet全局过滤器转义编码。

    创建一个实现了`javax.servlet.Filter`接口的类,如`CharacterEncodingFilter`,并在`doFilter`方法中设置请求和响应的编码为UTF-8: ```java public void doFilter(ServletRequest request, ServletResponse ...

    spring-Interceptor-filter-aop:spring mvc和tomcat源码分析

    本文将深入探讨"spring-Interceptor-filter-aop:spring mvc和tomcat源码分析"这一主题,旨在揭示这两个核心组件的内部工作原理。 **Spring MVC** Spring MVC是Spring框架的一部分,它提供了一个用于构建Web应用程序...

Global site tag (gtag.js) - Google Analytics