FIlter配置全站编码有一种方法是重写getParameter方法,也就是继承HttpServletRequestWrapper在重写getParameter方法,还有一种就是如下:

	public void doFilter(ServletRequest request, ServletResponse response,
FilterChain chain) throws IOException, ServletException {
// 将requese进行强转
HttpServletRequest req = (HttpServletRequest) request;
HttpServletResponse resp = (HttpServletResponse) response;
// 得到参数提交方式
String method = req.getMethod();
// 分为Get和Post两种方式进行处理
if(method.equalsIgnoreCase("post")) {
System.out.println("采用的是Post请求方式...");
// post 请求方法,直接可以进行设置
req.setCharacterEncoding("utf-8");
resp.setContentType("text/html;charset=utf-8");
} else {
System.out.println("采用的是Get请求方式...");
// get 请求方法,对于请求的参数的进行改变设置字符集
resp.setContentType("text/html;charset=utf-8");
Enumeration<String> enumeration= req.getParameterNames();
while(enumeration.hasMoreElements()) {
String key = enumeration.nextElement();
String[] values = req.getParameterValues(key);
// 对值进行字符集的编码设置
for(int i=0; i<values.length; i++) {
values[i] = new String(values[i].getBytes("iso-8859-1"), "utf-8");
}
}
}
chain.doFilter(req, resp);
}

  

  如果在FIlter中进行制定编码方式的编码,且代码无误的话,还是显示乱码,那么可能存在的问题是因为Tomcat的<Connector>标签缺少了URIEncoding的配置。

  配置如下:

  修改Tomcat下的/conf/server.xml配置文件,制定URIEncoding;

  <Connector port="8080" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" URIEncoding="UTF-8"/>

  就是加上:URIEncoding="UTF-8",但是请注意,这种方式不推荐使用

javaweb的Filter过滤器设置全站编码的更多相关文章

  1. javaweb之Filter过滤器详解

    快速入门 1.新建一个类,实现Filter接口 2.实现doFilter()方法,打印一句话,来证明能够进行拦截 3.在web.xml中进行配置(参照Servlet配置) 4.访问一个页面,看看能不能 ...

  2. 【JavaWeb】Filter 过滤器

    Filter 过滤器 简介 Filter 过滤器是 JavaWeb 三大组件之一 Filter 过滤器是 JavaEE 的规范,也就是接口 Filter 过滤器的作用是 拦截请求,过滤响应 拦截请求的 ...

  3. JavaWeb乱码问题及统一全站编码(通过Filter实现)

    1. public class CharacterFilter implements Filter { private String characterEncoding = null; FilterC ...

  4. JavaWeb -- Servlet Filter 过滤器

    1. Servlet API中提供了一个Filter接口,开发web应用时,如果编写的Java类实现了这个接口,则把这个java类称之为过滤器Filter.通过Filter技术,开发人员可以实现用户在 ...

  5. JavaWeb之Filter过滤器

    原本计划这一篇来总结JSP,由于JSP的内容比较多,又想着晚上跑跑步减减肥,所以今天先介绍Filter以及它的使用举例,这样的话还有些时间可以锻炼锻炼.言归正传,过滤器从字面理解她的话有拦网.过滤的功 ...

  6. JAVA中的使用Filter过滤器设置字符集

    Filter是什么? Filter不是一个Servlet,它可以叫做Servlet链,它可以用来改变一个request,修改一个response.它虽然不能产生一个response,但可以在一个req ...

  7. filter get乱码 全站编码解决 包装模式

    包装模式简介: package com.itheima.test; import java.io.BufferedReader; import java.io.IOException; import ...

  8. web.xml 设置字符编码

    个人理解  就是为了防止在前端输入的数据到了后台发生乱码 直接复制到web.xml里面就可以使用 亲测 能用!!! <!-- 前端过滤器设置字符编码 --> <filter> ...

  9. filter应用案例三:解决全站编码问题

    1 说明 乱码问题: 获取请求参数中的乱码问题: POST请求:request.setCharacterEncoding("utf-8"): GET请求:new String(re ...

随机推荐

  1. 20191126PHP连接数据(1)

    引进数据 mysql> create database stu1 character set utf8; mysql> use stu1 mysql> set names utf8; ...

  2. 对于call,apply,bind 的理解

    JavaScript 中 call().apply().bind() 的用法 之前对与JavaScript中的call,apply,bind这几个方法一直理解的很模糊,今天总结一下. 例1 var n ...

  3. ASE Backend Alpha Sprint Review

    [Backend] Alpha Review展示博客 团队成员介绍:仅限于Alpha阶段有贡献的成员. 典型场景描述:描述并说明你们认为的产品面向的典型场景. 团队管理与协作:包括但不限于团队内部如何 ...

  4. ltp-ddt eth_switch_config学习

    # @name ALE Table test using SWITCH-CONFIG # @desc Checks default entries in ALE table and verifies ...

  5. css3 :enabled与:disabled伪类选择器

    css :enabled和:disabled伪类选择器 在Web表单中,有些表单元素(如输入框.密码框.复选框等)有“可用”和“不可用”这2种状态.默认情况下,这些表单元素都处在可用状态. 在CSS3 ...

  6. django之路由的理解

    一:路由 简单的路由过程图: 1. 路由的定义位置 路由定义方式一:主路由和子路由分开定义 主路由的定义 urls.py from django.conf.urls import url from d ...

  7. maven之assembly插件

    传送门 https://blog.csdn.net/WANGYAN9110/article/details/38646677/ http://blueram.iteye.com/blog/168407 ...

  8. bio编程示例

    直接干代码,用BIO写一个Server端,然后使用telnet模拟客户端发送数据 import java.io.IOException; import java.io.InputStream; imp ...

  9. jquery用法初探

    JQuery选择器 JQuery选择器用于查找满足条件的元素,比如可以用$(“#控件Id”)来根据控件id获得控件的jQuery对象,相当于getElementById: 1.id 选择器   $(“ ...

  10. Python3解leetcode Min Cost Climbing Stairs

    问题描述: On a staircase, the i-th step has some non-negative cost cost[i]assigned (0 indexed). Once you ...