返回顶部
首页 > 资讯 > 后端开发 > Python >Java CharacterEncodingFilter过滤器的理解和配置案例详解
  • 491
分享到

Java CharacterEncodingFilter过滤器的理解和配置案例详解

2024-04-02 19:04:59 491人浏览 泡泡鱼

Python 官方文档:入门教程 => 点击学习

摘要

在WEB项目中我们经常会遇到当前台jsP页面和JAVA代码中使用了不同的字符集进行编码的时候就会出现表单提交的数据或者上传/下载中文名称文件出现乱码的问题,这些问题的原因就是因为我们

WEB项目中我们经常会遇到当前台jsP页面和JAVA代码中使用了不同的字符集进行编码的时候就会出现表单提交的数据或者上传/下载中文名称文件出现乱码的问题,这些问题的原因就是因为我们项目中使用的编码不一样。为了解决这个问题我们就可以使用CharacterEncodingFilter类,他是spring框架对字符编码的处理,基于函数回调,对所有请求起作用,只在容器初始化时调用一次,依赖于servlet容器.具体配置如下:


<filter>
        <filter-name>characterEncodingFilter</filter-name>
        <!--配置转码,将编码都转为UTF-8-->
        <filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>
        <init-param>
            <param-name>encoding</param-name>
            <param-value>UTF-8</param-value>
        </init-param>
        <init-param>
            <param-name>forceEncoding</param-name>
            <param-value>true</param-value>
        </init-param>
    </filter>
    <filter-mapping>
        <filter-name>characterEncodingFilter</filter-name>
        <url-pattern>
 
package org.springframework.web.filter;
 
import java.io.IOException;
import javax.servlet.FilterChain;
import javax.servlet.ServletException;
import javax.servlet.Http.httpservletRequest;
import javax.servlet.http.HttpServletResponse;
 

public class CharacterEncodingFilter extends OncePerRequestFilter {
 
	private String encoding;
 
	private boolean forceEncoding = false;
 
 
	
	public void setEncoding(String encoding) {
		this.encoding = encoding;
	}
 
	
	public void setForceEncoding(boolean forceEncoding) {
		this.forceEncoding = forceEncoding;
	}
 
 
	@Override
	protected void doFilterInternal(
			HttpServletRequest request, HttpServletResponse response, FilterChain filterChain)
			throws ServletException, IOException {
 
		if (this.encoding != null && (this.forceEncoding || request.getCharacterEncoding() == null)) {
			request.setCharacterEncoding(this.encoding);
			if (this.forceEncoding) {
				response.setCharacterEncoding(this.encoding);
			}
		}
		filterChain.doFilter(request, response);
	}
 
}
 

从上面的配置和源码我们可以发现

在配置字符集过滤器时可设定两个参数的值,

1. encoding:字符集,即将过滤到的request的字符集设置为encoding指定的值,相当于


request.setCharacterEncoding("")

2. forceEncoding:字面意思是强制字符集,这个参数的值是指定response的字符集是否也设置成encoding所指定的字符集,所以你可以选择设置为true或false,当值为true时,相当于


request.setCharacterEncoding("");  
response.setCharacterEncoding("");

当值为false时,相当于:


request.setCharacterEncoding("");

到此这篇关于Java CharacterEncodingFilter过滤器的理解和配置案例详解的文章就介绍到这了,更多相关Java CharacterEncodingFilter过滤器内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

--结束END--

本文标题: Java CharacterEncodingFilter过滤器的理解和配置案例详解

本文链接: https://lsjlt.com/news/133794.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • Java CharacterEncodingFilter过滤器的理解和配置案例详解
    在web项目中我们经常会遇到当前台JSP页面和JAVA代码中使用了不同的字符集进行编码的时候就会出现表单提交的数据或者上传/下载中文名称文件出现乱码的问题,这些问题的原因就是因为我们...
    99+
    2024-04-02
  • Java CharacterEncodingFilter案例详解
    一、什么是CharacterEncodingFilter 官方解释如下 是spring内置过滤器的一种,用来指定请求或者响应的编码格式。在web开发中经常被从来使用 二、Chara...
    99+
    2024-04-02
  • Java过滤器Filter详解
    目录Filter学习Filter功能Filter的工作原理多个Filter的实现Filter的执行逻辑总结Filter学习 Filter功能 拦截jsp、静态图片文件、静态html资源文件 实现URL级别的权限访问控制 ...
    99+
    2019-04-25
    Java过滤器 Filter
  • Java Web过滤器详解
    过滤器是什么玩意?所谓过滤器,其实就是一个服务端组件,用来截取用户端的请求与响应信息。过滤器的应用场景:1.对用户请求进行统一认证,保证不会出现用户账户安全性问题编码转换,可在服务端的过滤器中设置统一的编码格式,避免出现乱码对用户发送的数据...
    99+
    2023-05-31
    java web 过滤器
  • Java SSM配置文件案例详解
    先对Spring SpringMVC和Mybatis单独进行配置,最后对三者进行整合配置 Spring 实际使用中,一般会使用注解+xml配置来实现spring功能,其中xml配置对...
    99+
    2024-04-02
  • 详细了解java监听器和过滤器
    目录1、介绍:2、作用域对象:Servt规范扩展-----------过滤器接口1、介绍:2、具体作用:3、Filter接口实现类的开发步骤:三步第一步:创建一个java类实现Fil...
    99+
    2024-04-02
  • SpringBoot中shiro过滤器的重写与配置详解
    目录问题解决方案实现代码1.重写shiro 登录 过滤器2.重写role权限 过滤器3.配置过滤器问题 遇到问题:在前后端分离跨域访问的项目中shiro进行权限拦截失效 (即使有正确...
    99+
    2024-04-02
  • Java中的SpringSecurity配置过滤器
    目录AbstractAuthenticationFilterConfigurer改造过程配置类效果前言: CaptchaAuthenticationFilter是通过模仿Userna...
    99+
    2024-04-02
  • Java sdk安装及配置案例详解
    1.安装Java SDK开发环境。 首先去官网下载Java SDK,http://www.oracle.com/technetwork/java/javase/downloads/j...
    99+
    2024-04-02
  • Django模板过滤器和继承示例详解
    目录模板过滤器模板的继承模板继承样例总结模板过滤器 定义:在变量输出时对变量的值进行处理 作用:可以通过使用过滤器来改变变量的输出显示 语法:{{变量 | 过滤器:'参数值1' | ...
    99+
    2024-04-02
  • Java之api网关断言及过滤器案例讲解
    目录一、什么是api网关?二、常见的api网关三、使用步骤1.Spring Cloud Gateway2.优缺点3.传统的过滤器4.使用gateway4.1module4.2添加po...
    99+
    2024-04-02
  • Java JConsole远程连接配置案例详解
    JConsole远程连接还是有一点坑的。这里记录一下配置过程,好记性不如烂笔头。 1.在远程机的tomcat的catalina.sh中加入配置: JAVA_OPTS="$JAVA...
    99+
    2024-04-02
  • SpringBoot过滤器Filter使用实例详解
    目录简介用法功能实现简介 过滤器是AOP(面向切面编程)思想的具体实现。可以过滤浏览器发出的请求,并且决定放行请求还是中断请求。 在浏览器对服务器发起请求或者服务器对浏览器响应,都会...
    99+
    2024-04-02
  • Filter过滤器和Listener监听器详解
     Filter过滤器和Listener监听器详解Filter过滤器Filter的简介 对资源的访问进行过滤,相当于小区的保安,进去要检查,出去还要检查。Filter的使用编写一个类,继承并实现javax.servlet.Filte...
    99+
    2023-05-31
    filter 过滤器 listener
  • 网关GateWay的使用详解、路由、过滤器、跨域配置
    网关GateWay的使用详解、路由、过滤器、跨域配置 一、网关的基本概念 SpringCloudGateway网关是所有微服务的统一入口。 1.1 它的主要作用是: 反向代理(请求的转发)路由和负载均...
    99+
    2023-09-07
    gateway java spring cloud 分布式 服务器
  • Spring Security过滤器链体系的实例详解
    以下摘自胖哥分享的 2022开工福利教程。 在学习Spring Security的时候你有没有下面这两个疑问: Spring Security的登录是怎么配置的?Spring Sec...
    99+
    2024-04-02
  • Java过滤器doFilter里chain.doFilter()函数的理解
    目录对过滤器doFilter里chain.doFilter()函数的理解过滤器Filter&&chain.doFilter()对过滤器doFilter里chain.d...
    99+
    2024-04-02
  • 一文详解Java过滤器拦截器实例逐步掌握
    目录一、过滤器与拦截器相同点二、过滤器与拦截器区别三、过滤器与拦截器的实现四、过滤器与拦截器相关面试题一、过滤器与拦截器相同点 1、拦截器与过滤器都是体现了AOP的思想,对方法实现...
    99+
    2023-05-15
    Java过滤器拦截器 Java过滤器
  • 详解JavaWeb中的过滤器Filter
    目录一、什么是过滤器1.1 使用步骤二、初体验2.1 mynav.html2.2 FilterServlet程序2.3 HelloServlet程序2.4 web.xml2.5 in...
    99+
    2024-04-02
  • 详解Tomcat常用的过滤器
    目录一、跨域过滤器CorsFilter1.1、配置示例1.2、参数说明二、CSRF保护过滤器CsrfPreventionFilter2.1、配置示例2.2、参数说明三、防止参数丢失过...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作