Как написать конфигурацию Encodingfilter без web.xml - PullRequest
2 голосов
/ 19 июня 2019

В моем проекте Encodingfilter написан в WEB.XML. Но я хочу написать это без WEB.XML, я хочу написать только в классе Java.

Encodingfilter в моем WEB.XML
Как вы можете написать это в классе JAVA без WEB.xml

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

Фильтр кодирования я правильно написал?

public class ServletInitializer extends AbstractAnnotationConfigDispatcherServletInitializer {

    @Value("${spring.servlet.multipart.max-file-size}")

    private int maxFileSize;

    @Value("${spring.servlet.multipart.max-request-size}")

    private int maxRequestSize;

    @Autowired

    private Environment environment;

    @Override
    protected Class<?>[] getRootConfigClasses() {

        return new Class[]{HibernateConfig.class/*, SecurityConfig.class*/};

    }

    @Override
    protected Class<?>[] getServletConfigClasses() {

        return new Class[]{WebMvcConfig.class};

    }

    @Override
    protected String[] getServletMappings() {

        return new String[]{"/"};

    }

    @Override
    protected Filter[] getServletFilters() {
        CharacterEncodingFilter filter = new CharacterEncodingFilter();
        filter.setEncoding("UTF-8");
        filter.setForceEncoding(true);
        return new Filter[]{filter};
    }
}

enter image description here

1 Ответ

1 голос
/ 19 июня 2019

Вы можете использовать org.springframework.web.servlet.support.AbstractAnnotationConfigDispatcherServletInitializer:

public class MyWebInitializer extends
        AbstractAnnotationConfigDispatcherServletInitializer {

    //...

    @Override
    protected Filter[] getServletFilters() {
        CharacterEncodingFilter filter = new CharacterEncodingFilter();
        filter.setEncoding("UTF-8");
        filter.setForceEncoding(true);
        return new Filter[]{filter};
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...