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

字符编码过滤器,,,帮您解决乱码问题

    博客分类:
  • JAVA
阅读更多

在开发过程中难免会遇到乱码问题,很早以前就写了这个处理乱码的过滤器,拿出来透透气下,也让路过的朋友们呼吸呼吸...

package com.web0248.filter;


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;


public class SetCharacterEncodingFilter implements Filter {

       protected String encoding = null;


       protected FilterConfig filterConfig = null;


       protected boolean ignore = true;


       public void destroy() {

              this.encoding = null;

              this.filterConfig = null;

       }


       public void doFilter(ServletRequest request, ServletResponse response,

                     FilterChain chain) throws IOException, ServletException {


              // 有条件地选择设置字符编码使用

              if (ignore || (request.getCharacterEncoding() == null)) {

                     String encoding = this.encoding;

                     if (encoding != null)

                            request.setCharacterEncoding(encoding);

              }


              chain.doFilter(request, response);


       }


       public void init(FilterConfig filterConfig) throws ServletException {


              this.filterConfig = filterConfig;

              this.encoding = filterConfig.getInitParameter("encoding");

              String value = filterConfig.getInitParameter("ignore");

              if (value == null)

                     this.ignore = true;

              else if (value.equalsIgnoreCase("true"))

                     this.ignore = true;

              else if (value.equalsIgnoreCase("yes"))

                     this.ignore = true;

              else

                     this.ignore = false;


       }


}



web.xml配置:
<filter>

    <filter-name>SetCharacterEncodingFilter</filter-name>

    <filter-class>com.web0248.filter.SetCharacterEncodingFilter</filter-class>

    

    <init-param>

   <!-- 定义编码格式,我用的是utf-8 -->

      <param-name>encoding</param-name>

      <param-value>utf-8</param-value>

    </init-param>

    

    <init-param>

    <!-- ignore参数是在过滤器类定义的 -->

      <param-name>ignore</param-name>

      <param-value>true</param-value>

    </init-param>

</filter>

<filter-mapping>

    <filter-name>SetCharacterEncodingFilter</filter-name>

    <servlet-name>action</servlet-name>

</filter-mapping>

<filter-mapping>

    <filter-name>SetCharacterEncodingFilter</filter-name>

    <servlet-name>*.jsp</servlet-name>

</filter-mapping>

1
0
分享到:
评论

相关推荐

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

    NULL 博文链接:https://alexfc.iteye.com/blog/326497

    过滤器实现get请求乱码问题

    过滤器实现get请求乱码问题 过滤器实现get请求乱码问题 过滤器实现get请求乱码问题

    过滤器代码--解决jsp中的字符乱码问题

    过滤器代码--解决jsp中的字符乱码问题,可以让你不在为字符的乱码担心。

    字符过滤器

    jsp 中的字符过滤器,屏蔽网页中或JFreeChart中的乱码问题

    编码过滤器

    编码过滤器,在项目中统一处理编码问题 解决乱码问题

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

    这是一个不错的例子,使用过滤器解决了字符乱码的问题

    过滤器 乱码,非法字符,权限

    此资源系本人在培训机构的资料,资源包含过滤器乱码过滤、过滤非法字符、权限过滤、病毒过滤、HTML标签过滤、js脚本过滤等代码演示实例和讲解文档,内容详细易懂,希望对象大家有所帮助!

    ssh框架乱码过滤器Filter

    用于中文乱码问题,仅限于表单提交,不适于JS提交,JS提交请自己另设response

    中文字符过滤器

    解决编码传参中文乱码问题,附有.java和web.xml配置文件关键代码

    Servlet 中文乱码解决工具类

    在Java Web程序开发中,由于Web容器内部使用编码格式并不支持中文字符集,所以,处理浏览器请求中的中文数据就会出现乱码的现象。由于Web容器使用了ISO-...如果通过过滤器来处理字符编码,就可以做到简单又万无一失。

    如过你配置了过滤器无用,下面以下方可以解决AJAX中文乱码

    如果你配置了过滤器,但是中文还会乱码,可以参考下面两种方法解决。

    jsp和servlet操作mysql中文乱码问题的解决办法

    首先看是从什么地方开始出现的乱码,只要统一编码,就不会出现乱码,下面以uft-8(个人认为最好)为例,详细说明:1、...第二种最保险,一劳永逸,是专门写一个过滤器类,也称国际化,类名为SetCharacterEncodingFilter

    数据库乱码的小技巧

    近用ssh框架和mysql数据库写项目的时候,老是出现中文乱码,根据网上的各种策略,使用spring自带的字符过滤器啊,设置页面编码啊,设置数据库编码啊都设置好为UTF-8了,还是出现中问乱码,后来在spring的配置文件...

    encodingFilter

    通过过滤器的方式解决请求响应的乱码,通过配置参数encoding指明使用何种字符编码,以处理Html Form请求参数的中文问题。

    曼波整站系统5.2.0

    根据语言编码指定字符集,创建表时根据语言编码指定默认字符集,有效解决乱码问题 4) 改进安装程序,在创建表时根据语言编码指定默认字符集 &lt;br&gt; 三、增加功能 &lt;br&gt;1. 增加 box_mychildhood_cn 童年风格...

    KODExplorer 芒果云-资源管理器

    - 选中文件时,移动到屏幕可视区域(解决上下左右选中文件滚动条不一致问题) ###ver2.51 `2014/6/22` ---- ####fix bug:(bug解决和程序优化) - 登陆多次密码输入错误验证码bug解决 - 修复漏洞:创建副本加入...

    ajax中get和post的说明及使用与区别

    对付乱码我都是用过滤器做字符编码过滤的,Get方法过滤器监听不到,所以我一直喜欢使用Post方法,下面对Ajax Get和Post方法做一对比,需要了解的朋友可以 参考下

    Forum-Community:使用Spring+SpringMVC+Hibernate开发一个论坛社区

    ThisIsUs Community ...并提供了一个字符转换编码过滤器防止中文乱码.服务层使用Spring4.0,持久层使用Hibernate.使用Maven构建项目. 系统架构 社区总共为4个模块,为用户管理,社区管理,版块管理以及社区基

    wordexjia文本竖排

    可能会出现问题,如果出现乱码,可以先在文本编辑器中将文本转换为gb2312编码。 横竖排版转换中将一些括号(如“[”,“]”,“{”“}”,“【”等)自动转换为了竖排形式的括号,将全角单引 号双引号转换为了竖排...

Global site tag (gtag.js) - Google Analytics