java中Filter过滤器处理中文乱码的方法
注意问题:在学习用selvert的过滤器filter处理中文乱码时,在filter配置初始化时用了utf-8处理中文乱码,而在提交的jsp页面中却用了gbk。虽然两种都可以出来中文乱码,但是却造成了处理乱码的格式不一致。所以编译出错。
解决方法:所有地方都用utf-8或gbk
//过滤器类
CharactorFilter.jsp
package cn.com.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 CharactorFilter implements Filter { //继承Filter类
//字符编码
String encoding=null;
public void doFilter(ServletRequest request, ServletResponse response,
FilterChain chain) throws IOException, ServletException {
if(encoding!=null){
//设置request字符编码
request.setCharacterEncoding(encoding);
//设置response字符编码
response.setContentType("text/html;charset="+encoding);
}
//传递给下一个过滤器
chain.doFilter(request, response);
}
public void init(FilterConfig filterConfig) throws ServletException {
//获取初始化参数
encoding=filterConfig.getInitParameter("encoding");
}
public void destroy() {
// TODO Auto-generated method stub
encoding=null;
}
}
web.xml
<filter> <!--注意这里是filter,不要配置成servlet-->
<filter-name>CharactorFilter</filter-name> <!--过滤器名称-->
<filter-class>cn.com.Filter.CharactorFilter</filter-class> <!--过滤器的完整类名-->
<init-param> <!--初始化参数-->
<param-name>encoding</param-name> <!--参数名称-->
<param-value>utf-8</param-value> <!--参数值-->
</init-param>
</filter>
<filter-mapping> <!--过滤器映射-->
<filter-name>CharactorFilter</filter-name><!--过滤器名称-->
<url-pattern>/*</url-pattern><!--URL映射,给所有页面处理乱码-->
</filter-mapping>
java中Filter过滤器处理中文乱码的方法的更多相关文章
- java中可以出现的中文乱码的集中解决
从学习javaweb开始就会经常遇到中文乱码,今天就做以下记录: 1. 要避免项目中遇到乱码,首先就是在搭建项目的设置工作空间的字符编码,若是多人开发,就更应该做到统一,在eclipse中选择widn ...
- 利用JSP中的过滤器解决中文乱码问题
首先我们创建过过滤器: package com.gbx; import java.io.IOException; import javax.servlet.Filter; import javax.s ...
- java中get请求的中文乱码问题
表单采用Get方式提交,解决乱码的方法为: 方式一:手动解码 param = new String(param.getBytes("iso8859-1"), ...
- sublime text3 中 python3编译出现中文乱码解决方法
转 https://blog.csdn.net/Bin_bin_bingo/article/details/80531582 一.乱码现象 利用sublime自带编译快捷方式ctrl+B会出现中文乱码 ...
- Linux中文件/文本的中文乱码解决方法
Linux显示在Windows编辑过的中文就会显示乱码是由于两个操作系统使用的编码不同所致.Linux下使用的编码是utf8,而Windows使用的是gb18030.因此,解决Linux打开txt/c ...
- Java中使用FileputStream导致中文乱码问题的修改方案
package com.pocketdigi; import java.io.File; import java.io.FileInputStream; import java.io.FileOutp ...
- url中向后台传递中文乱码解决方法
方法一: 1.jsp中代码 var userNo = $('#prisoner_id').val(); userNo = encodeURI(userNo); allPrisone ...
- Java中FTPClient上传中文目录、中文文件名乱码问题解决方法【好用】
转: Java中FTPClient上传中文目录.中文文件名乱码问题解决方法 问题描述: 使用org.apache.commons.net.ftp.FTPClient创建中文目录.上传中文文件名时,目录 ...
- java使用Filter过滤器对Response返回值进行修改
转:java使用Filter过滤器对Response返回值进行修改 练习时只做了对request 的处理,这里记录一下,filter 对 response的处理. 原文地址:java使用Filter过 ...
随机推荐
- swift pop实现动感按钮动画
// // MyButton.swift // PopInstall // // Created by su on 15/12/11. // Copyright © 2015年 tian. A ...
- java成长之路-开篇
一,为了生活 从业7年,主要还是运用.net过日子.今儿下决心再次准备学习java并想达到一定高度,也还是想以后能主要用java赚钱过日子.抱歉眼界所到,平均情况下,java平台的收入还是比.net的 ...
- polymer-developer guide-feature overview
<dom-module id='proto-element'> <template> <div>{{greeting}}</div> </temp ...
- JSP和servlet之间的传值(总结的很全面)
转自:http://blog.csdn.net/ssy_shandong/article/details/9328985 1.从一个jsp页面跳转到另一个jsp页面时的参数传递 (1)使用re ...
- 7.使用ZookeeperNet进行CDU操作参数详解
一.创建,删除,更新 1. zkCli.sh 中使用命令执行. 2. 学会查看api文档 zookeeper C# driver 官方文档,文档是java代码的. http://zookeeper.a ...
- Lucene--FuzzyQuery与WildCardQuery(通配符)
FuzzyQuery: 创建索引: IndexWriter writer = new IndexWriter(path, new StandardAnalyzer(), false); writer. ...
- Windows和linux通过命令互传文件
下载pscp https://www.chiark.greenend.org.uk/~sgtatham/putty/latest.html 放在Windows的c:windows/system32下 ...
- LINQ to Entities 查询中的标准查询运算符
投影和筛选方法 投影指的是转换的结果集到所需的窗体中的元素. 例如,可以从结果集中的每个对象投影所需的属性子集,可以投影一个属性并对其执行数学计算,也可以从结果集投影整个对象. 投影方法有 Selec ...
- 码农的福利来了, 编程在线Androd 客户端上线了
编程在线下载: 编程在线网站:http://codestudy.sinaapp.com (最新版2.1) 编程在线移动版:http://codestudy.sinaapp.com/mobile/ 编程 ...
- Posix消息队列注意事项
随内核的持续性 读总是返回最高优先级的最早消息. 当往一个空队列放置一个消息时,允许产生一个信号或启动一个线程. 可认为是一个消息链表 队列中每个消息具有 1.一个无符号整数优先级 2.消息的数据部分 ...