java 过滤器 中文_Java web整站中文过滤器实现
[java]代码库package cn.edu.itcast.filter;
import java.io.IOException;
import java.io.UnsupportedEncodingException;
import javax.servlet.Filter;
import javax.servlet.FilterChain;
import javax.servlet.FilterConfig;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletRequestWrapper;
import javax.servlet.http.HttpServletResponse;
// 解决全站中文乱码的问题
public class AllCharacterFilter implements Filter{
private FilterConfig filterConfig ;
@Override
public void init(FilterConfig arg0) throws ServletException {
this.filterConfig = arg0 ;
}
@Override
public void doFilter(ServletRequest req, ServletResponse res, FilterChain chain) throws IOException, ServletException {
System.out.println("整站中文过滤器开始............");
HttpServletRequest request = (HttpServletRequest)req ;
HttpServletResponse response = (HttpServletResponse)res ;
String encoding = filterConfig.getInitParameter("encoding");
if(encoding == null){
encoding = "UTF-8" ;
}
// 默认只能解决POST方式的中文乱码问题
request.setCharacterEncoding(encoding) ;
response.setCharacterEncoding(encoding) ;
response.setContentType("text/html;charset="+encoding) ;
MyHttpServletRequest myRequest = new MyHttpServletRequest(request);
chain.doFilter(myRequest, response) ;
System.out.println("整站中文过滤器结束............");
}
@Override
public void destroy() {
}
}
// 包装设计模式修改GET请求处理方式
class MyHttpServletRequest extends HttpServletRequestWrapper
{
public MyHttpServletRequest(HttpServletRequest request)
{
super(request);
}
@Override
public String getParameter(String name)
{
String value = super.getParameter(name) ;
if(value != null)
{
String method = super.getMethod() ;
if("get".equalsIgnoreCase(method))
{
try
{
value = new String (value.getBytes("ISO-8859-1"),super.getCharacterEncoding()) ;
} catch (UnsupportedEncodingException e)
{
e.printStackTrace();
}
}
}
return value ;
}
}
java 过滤器 中文_Java web整站中文过滤器实现相关推荐
- java filter教程_Java Web Filter 过滤器学习教程(推荐)
一.Filter简介 Filter也称之为过滤器,它是Servlet技术中最激动人心的技术,WEB开发人员通过Filter技术,对web服务器管理的所有web资源:例如Jsp, Servlet, 静态 ...
- Java毕设项目二手交易市场整站源码 校园转转二手市场源码
本篇为大家带来的是Java开源项目--校园二手交易平台,可以用来做实战演练,也可以用来做毕业设计. 校园转转二手市场源码分享,Java写的应用,改成本毕设啥还是挺不错的,mybatis-plus 和 ...
- 通过过滤器Filter解决web项目的中文乱码问题
事先说明:这里的问题解决是针对web项目中怎么通过Filter过滤器解决当前项目下所有Servlet资源的中文乱码问题. 一是post请求出现的中文乱码: 二是respose输出字符流出现的中文乱码问 ...
- java 流 中文_Java IO流之中文乱码
相信有过学过JavaEE的人们都有遇到过中文乱码问题吧,最简单的就是表单数据提交时中文出现乱码,乱码难解决吗?其实不难,只要掌握好编码的设置,乱码神马的一边去. 今天主要就讲讲一些常用的可以设置编码的 ...
- java项目使用过滤器实例_Java web开发--过滤器篇(详细介绍)
一. web过滤器的介绍 1.过滤器 在生活中,过滤这种我们时常可见:比如水资源的处理,化学药剂的提取等等.所谓过滤,就是指对某事物的处理进行一定的处理获取相应的结果的一个过程.它可以总结为下: 过滤 ...
- java 问号乱码_Java web中常见编码乱码问题(一)
最近在看Java web中中文编码问题,特此记录下. 本文将会介绍常见编码方式和Java web中遇到中文乱码问题的常见解决方法: 一.常见编码方式: 1.ASCII 码 众所周知,这是最简单的编码. ...
- java取路径含中文_java获取项目路径中文乱码
以下内容转自:http://blog.csdn.net/dream_broken/article/details/31762807# 项目的文件名称推荐都是英文名称,但是有时不可避免使用了中文,获取项 ...
- java html pdf 中文_java html 转pdf 中文可显示
摘要: 最近正好项目有用到 ITEXT ,在网络上搜索了一番,发现了很多方案,但是都是显示中文有问题,本文提供一种最便捷的方式来实现,不需要任何额外 JAR 包. 引用一句另外一个人提出解决方式的一句 ...
- java properties读取中文_Java读取properties文件中文乱码
Java读取properties文件中文乱码 之前读取properties配置文件时候全都是英文或者数字之类的,最近项目有个需求要properties配置文件中有中文字符存在,那么读取java pro ...
最新文章
- TP框架中内置查询IP函数
- 获得SAP help center的url
- t580 thinkpad_聊聊ThinkPad T580:除了大屏,还有什么
- 上海石库门建筑群中规模最大的张园 迎来历史性的“重生”
- 基于JAVA+SpringMVC+Mybatis+MYSQL的学生考勤管理系统
- SAR数据集项目说明文档写作
- asp.net5开发中DNX SDK版本的影响
- Golang1.71.3下载以及安装(Linux Mac Windows)
- mysql多条件顺序_mysql顺序由多个条件
- js实现下载 .txt文件
- 家庭医生后台管理系统高保真Axure原型模板
- Attachments
- 极化码生成矩阵的构造
- 尺寸公差分析尺寸链计算软件:DTAS3D电机气隙案例
- 脉歌蓝牙耳机线评测_脉歌 TE-40 蓝牙耳机“升级线”体验
- 三菱je -c中映射表的作用_linux内核页表映射机制:线性地址如何转为物理地址?...
- 1. SCARA机器人建模
- 运用VGG16神经网络进行花朵识别
- Origin 2021汉化的方法
- “魔盗”窃密木马(FakeCDR)研究