java - Java 驱动配置中的 Spring 过滤器映射

标签 java spring utf-8

我在我的项目中没有使用 web.xml。因此,我为 MVC 配置扩展了 WebMvcConfigurerAdapter,并为初始化应用程序扩展了 AbstractAnnotationConfigDispatcherServletInitializer。我需要将编码设置为 UTF-8。如何添加过滤器映射?

我想在基于Java的配置中实现以下代码。

 <filter>
    <filter-name>characterEncodingFilter</filter-name>
    <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>/*</url-pattern>
</filter-mapping>

最佳答案

您可以将 bean 添加到配置类中

@Bean
public FilterRegistrationBean encodingFilter() {
    CharacterEncodingFilter encodingFilter = new CharacterEncodingFilter("UTF-8", true);
    FilterRegistrationBean filterRegBean = new FilterRegistrationBean();
    filterRegBean.setUrlPatterns(getRootPathUrls());
    filterRegBean.setFilter(encodingFilter);
    filterRegBean.setOrder(1);
    return filterRegBean;
}

private List<String> getRootPathUrls() {
    List<String> urlPatterns = new ArrayList<String>();
    urlPatterns.add("/*");
    return urlPatterns;
}

文档 Here

关于java - Java 驱动配置中的 Spring 过滤器映射,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34112069/

相关文章:

java - 扩展到另一个包中的类的最快方法,与当前包中的类同名

java - 如何制作二维数组的二维数组

java - 安排固定费率拒绝工作

mysql - Liquibase Spring error : Could not instantiate bean class [liquibase. integration.spring.SpringLiquibase]

Java 将 UTF-8 文本文件转换为 Cp1250

c# - 如何在 .NET Interop.Excel.Workbooks.OpenText 中指定编码

java - Spring MVC 4.2.2 和 Hibernate 5.0.2 给出错误

java - 为什么spring 4推荐使用注解而不是配置文件?

java - 如何使用 Cucumber runner 加载 Spring 应用程序上下文

python xml.dom.minidom.parse 和带有西里尔字母的 utf-8 xml 文件