`

字符编码Filter的实现

阅读更多
每天写一点,慢慢进步。
虽说在Servlet里面也可以设置编码方式,但是Filter就像一个沙漏一样,你可以随时拆卸,并且可以更灵活的设置编码方式。
package com.googlefans.filter;
public class CharacterEncodingFilter implements Filter{
   private String characterEncoding;
   private boolean enable;

   public void init(FilterConfig config)throws ServletException{
       characterEncoding=config.getInitParameter("characterEncoding");
       enable="true".equalsIgnoreCase(config.getInitParameter("enable").trim());
   }
   public void doFilter(ServletRequest request,ServletResponse response,FilterChain chain)throws ServletException,IOException{
       if(enable&&characterEncoding!=null){
          request.setCharacterEncoding(characterEncoding);
          response.setCharacterEncoding(characterEncoding);
       }
       chain.doFilter(request,response);
   }
   public void destory(){
       charcaterEncoding=null;
   }
}

要想达到随意拆卸“沙漏”和随意设置编码方式的目的,从代码就可以看出重点就在initparameter上。下面是Filter的设置,打开项目下的web.xml
<filter>
   <filter-name>characterEncodingFilter</filter-name>
   <filter-class>com.googlefans.filter.characterEncodingFilter</filter-class>
   <init-param>
      <param-name>characterEncoding</param-name>
      <param-value>UTF-8</param-value>
   </init-param>
   <init-param>
      <param-name>enable</param-name>
      <param-value>true</param-value>
   </init-param>
</filter>
<filter-mapping>
   <filter-name>characterEncodingFilter</filter-name>
   <url-pattern>/*</url-pattern>
</filter-mapping>

欢迎大家的指正,互相交流,互相学习!
分享到:
评论

相关推荐

    字符编码过滤器 字符编码转换 post字符转换

    "encoding-filter.jar"可能是一个实现了字符编码过滤器功能的Java类库,它可以被添加到J2EE应用中,自动处理字符编码转换。而"使用方法.txt"文件则可能提供了关于如何配置和使用这个过滤器的详细步骤和示例代码,以...

    java字符编码监听器

    在Java代码中,我们可以自定义过滤器类继承`javax.servlet.Filter`,然后在`doFilter`方法中设置请求的字符编码。例如: ```java public void doFilter(ServletRequest request, ServletResponse response, ...

    字符编码过滤器

    本篇文章将详细探讨Java过滤器(Filter)的概念,字符编码的重要性,以及如何通过封装工具类来实现统一的字符编码。 首先,让我们理解什么是Java过滤器。在Java Servlet规范中,过滤器(Filter)是一种用于拦截HTTP...

    解决字符编码的过滤器

    ### 解决字符编码的过滤器知识点详解 #### 一、字符编码基础概念 在深入了解如何通过Struts2框架中的Servlet过滤器解决字符编码问题之前,我们先简要回顾一下字符编码的基本概念。字符编码是将计算机内部二进制...

    字符编码

    源码可能是指Java过滤器(Filter)的实现,这种设计模式常用于处理HTTP请求或响应,其中就包括了字符编码的转换。工具可能指的是用来检测、转换或处理编码的软件,如Notepad++等文本编辑器,它们支持多种字符编码并...

    检验用户名、密码、字符编码、页面缓存----Filter的基本使用

    在提供的"filter6_检验用户名、密码、字符编码、页面缓存"文件中,我们可以找到一个具体的Filter实现。这个Filter可能包含了上述所有功能的代码示例,包括如何获取和验证请求参数、如何设置字符编码、以及如何控制...

    java字符编码错误整理大全

    为了统一管理Web应用中的字符编码,可以通过自定义过滤器(Filter)来自动设置每个请求的编码。 ```java public class SetCharacterEncodingFilter implements Filter { protected String encoding = null; ...

    基于tomcat8 编写字符编码Filter过滤器无效问题的解决方法

    基于tomcat8 编写字符编码Filter过滤器无效问题的解决方法 在基于tomcat8 的Web应用程序中,字符编码问题是常见的问题之一。特别是在处理POST请求时,中文字符可能会出现乱码的情况。为了解决这个问题,我们可以...

    【Struts】设置字符编码过滤器,解决乱码问题收藏

    在开发Java Web应用程序时,尤其是使用Struts框架时,经常遇到的一个问题是字符编码不一致导致的乱码问题。本文将详细讲解如何通过设置字符编码过滤器(`SetCharacterEncodingFilter`)来解决这一问题,同时深入理解...

    J2EE -- 字符编码问题

    上述代码中定义了一个名为`CharacterEncodingFilter`的过滤器类,该类实现了`Filter`接口,并在`doFilter`方法中设置了字符编码为`UTF-8`。这样,无论客户端以何种编码格式发送数据,服务器端都能按照指定的编码格式...

    ssh框架乱码过滤器Filter

    在上述代码中,我们强制设置了请求的字符编码为UTF-8,并且指定了响应的内容类型和字符编码也是UTF-8。这样,无论表单提交的数据中包含何种中文字符,都能被正确解析。 接下来,需要在SSH框架的配置文件中注册这个...

    struts2.0字符编码使用过滤器

    Struts2.0字符编码问题在开发Web应用时是一个常见的挑战,尤其是在处理用户输入时,如果编码不统一,可能会导致乱码现象。本示例通过使用过滤器(Filter)来解决这个问题,确保了数据在传输过程中的正确编码,从而...

    jquery字符编码转换[文].pdf

    在软件开发过程中,字符编码问题是一个常见的挑战,尤其是在涉及到多语言和跨平台交互时。`jQuery`是一个广泛使用的JavaScript库,它在与服务器进行异步通信(Ajax)时,可能会遇到编码不匹配的问题,特别是在GBK...

    JavaWeb页面过滤器之编码过滤

    在JavaWeb开发中,页面...通过理解其原理和实现,开发者可以更好地控制和优化Web应用的字符编码,从而提供更高质量的服务。在MyEclipse 8.5中,按照上述步骤和提示,你可以轻松地创建和部署一个自定义的编码过滤器。

    JavaEE Filter全局编码过滤器

    在这个场景下,"全局编码过滤器"是指一个专门用于处理字符编码问题的Filter,它的目的是确保所有进入和离开服务器的数据都采用统一且正确的字符编码,避免因为编码不一致导致乱码问题。 Filter的工作原理是基于请求...

    编码过滤器

    由于不同的字符集编码可能导致数据乱码,编码过滤器的职责就是统一这些编码,防止因编码不一致产生的问题。 在Java Web环境中,过滤器(Filter)是Servlet规范的一部分,它允许开发者在请求到达目标Servlet或JSP...

    解决JSP字符串乱码的过滤器

    我们将创建一个专门处理字符编码的Filter,确保请求和响应都使用正确的编码。 1. **创建Filter类** 首先,我们需要创建一个Filter类,继承自`javax.servlet.Filter`接口,并实现`doFilter()`方法。在这个方法中,...

    监听器访问计数过滤非法字符

    在"过滤器实现页面自动编码"的情况下,我们通常会使用CharacterEncodingFilter来确保所有的HTTP请求和响应都使用正确的字符编码,如UTF-8。这可以防止由于字符编码不一致导致的乱码问题,提高用户体验。 过滤器的...

    filter 实现权限控制

    `Filter`可以用来实现各种功能,如数据校验、登录验证、字符编码转换、日志记录等。在权限控制场景中,`Filter`通常用来拦截用户的HTTP请求,检查用户是否具有访问特定资源的权限。 RBAC模型是一种广泛采用的权限...

    四个有用的缓存,登陆字符编码,资源保护_过虑器

    本篇将详细讲解标题和描述中提到的四个有用的过滤器:防止浏览器缓存的过滤器、用户登录检测过滤器、字符编码过滤器以及资源保护过滤器。 1. **防止浏览器缓存的过滤器** 浏览器默认会缓存静态资源以提高加载速度...

Global site tag (gtag.js) - Google Analytics