[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整站中文过滤器实现相关推荐

  1. java filter教程_Java Web Filter 过滤器学习教程(推荐)

    一.Filter简介 Filter也称之为过滤器,它是Servlet技术中最激动人心的技术,WEB开发人员通过Filter技术,对web服务器管理的所有web资源:例如Jsp, Servlet, 静态 ...

  2. Java毕设项目二手交易市场整站源码 校园转转二手市场源码

    本篇为大家带来的是Java开源项目--校园二手交易平台,可以用来做实战演练,也可以用来做毕业设计. 校园转转二手市场源码分享,Java写的应用,改成本毕设啥还是挺不错的,mybatis-plus 和  ...

  3. 通过过滤器Filter解决web项目的中文乱码问题

    事先说明:这里的问题解决是针对web项目中怎么通过Filter过滤器解决当前项目下所有Servlet资源的中文乱码问题. 一是post请求出现的中文乱码: 二是respose输出字符流出现的中文乱码问 ...

  4. java 流 中文_Java IO流之中文乱码

    相信有过学过JavaEE的人们都有遇到过中文乱码问题吧,最简单的就是表单数据提交时中文出现乱码,乱码难解决吗?其实不难,只要掌握好编码的设置,乱码神马的一边去. 今天主要就讲讲一些常用的可以设置编码的 ...

  5. java项目使用过滤器实例_Java web开发--过滤器篇(详细介绍)

    一. web过滤器的介绍 1.过滤器 在生活中,过滤这种我们时常可见:比如水资源的处理,化学药剂的提取等等.所谓过滤,就是指对某事物的处理进行一定的处理获取相应的结果的一个过程.它可以总结为下: 过滤 ...

  6. java 问号乱码_Java web中常见编码乱码问题(一)

    最近在看Java web中中文编码问题,特此记录下. 本文将会介绍常见编码方式和Java web中遇到中文乱码问题的常见解决方法: 一.常见编码方式: 1.ASCII 码 众所周知,这是最简单的编码. ...

  7. java取路径含中文_java获取项目路径中文乱码

    以下内容转自:http://blog.csdn.net/dream_broken/article/details/31762807# 项目的文件名称推荐都是英文名称,但是有时不可避免使用了中文,获取项 ...

  8. java html pdf 中文_java html 转pdf 中文可显示

    摘要: 最近正好项目有用到 ITEXT ,在网络上搜索了一番,发现了很多方案,但是都是显示中文有问题,本文提供一种最便捷的方式来实现,不需要任何额外 JAR 包. 引用一句另外一个人提出解决方式的一句 ...

  9. java properties读取中文_Java读取properties文件中文乱码

    Java读取properties文件中文乱码 之前读取properties配置文件时候全都是英文或者数字之类的,最近项目有个需求要properties配置文件中有中文字符存在,那么读取java pro ...

最新文章

  1. TP框架中内置查询IP函数
  2. 获得SAP help center的url
  3. t580 thinkpad_聊聊ThinkPad T580:除了大屏,还有什么
  4. 上海石库门建筑群中规模最大的张园 迎来历史性的“重生”
  5. 基于JAVA+SpringMVC+Mybatis+MYSQL的学生考勤管理系统
  6. SAR数据集项目说明文档写作
  7. asp.net5开发中DNX SDK版本的影响
  8. Golang1.71.3下载以及安装(Linux Mac Windows)
  9. mysql多条件顺序_mysql顺序由多个条件
  10. js实现下载 .txt文件
  11. 家庭医生后台管理系统高保真Axure原型模板
  12. Attachments
  13. 极化码生成矩阵的构造
  14. 尺寸公差分析尺寸链计算软件:DTAS3D电机气隙案例
  15. 脉歌蓝牙耳机线评测_脉歌 TE-40 蓝牙耳机“升级线”体验
  16. 三菱je -c中映射表的作用_linux内核页表映射机制:线性地址如何转为物理地址?...
  17. 1. SCARA机器人建模
  18. 运用VGG16神经网络进行花朵识别
  19. Origin 2021汉化的方法
  20. “魔盗”窃密木马(FakeCDR)研究

热门文章

  1. Django源码分析9:model.py表结构的初始化概述
  2. 美多商城之验证码(图形验证码)
  3. 为啥同一个程序,单步执行和debug执行出现的结果不一样呢?
  4. Python匿名函数:lamdba()函数
  5. RGBD相机模型与图片处理
  6. 无痛涨点!大白话讲解 Generalized Focal Loss
  7. 三天打入CV大赛决赛圈!我是如何做到的?
  8. Windows10 搭建java环境——JDK11的安装与eclipse的安装
  9. 除法取模(比赛常用)
  10. MVC Html.ActionLink Area 链接中含区域的页面之间的跳转