Solucionado (ver solução)
Solucionado
(ver solução)
4
respostas

Erro de Encoding.

Pessoal tudo bem ?

Estou com problemas de encoding na aplicação, ela esta vindo diferente do Utf-8, gostaria de saber o que poderia fazer.

Classe SecurityConfiguration

@Override
    protected void configure(HttpSecurity http) throws Exception {
        CharacterEncodingFilter filter = new CharacterEncodingFilter();
        filter.setEncoding("UTF-8");
        filter.setForceEncoding(true);
        http.addFilterBefore(filter, CsrfFilter.class);
        http.authorizeRequests().antMatchers("/produtos/form").hasRole("ADMIN")
        .antMatchers("/carrinho/**").permitAll()
        .antMatchers(HttpMethod.POST, "/produtos").hasRole("ADMIN")
        .antMatchers("/produtos/**").permitAll()
        .antMatchers("/resources/**").permitAll()
        .antMatchers("/").permitAll().anyRequest().authenticated()
        .and().formLogin().loginPage("/login").permitAll().and().logout()
        .logoutRequestMatcher(new AntPathRequestMatcher("/logout"));
    }

ServletSpringMVC

 */
    @Override
    protected Filter[] getServletFilters() {
        CharacterEncodingFilter encodingFilter = new CharacterEncodingFilter();
        encodingFilter.setEncoding("UTF-8");
        return new Filter[] { encodingFilter };
    }

Capturar1

Ja cheguei a deletar os itens do banco e carregar novamente para cadastrar novamente, mas nada.

Meus arquivos .jsp esta configurado para UTF-8

4 respostas

No primeiro teste, eu diria para você não registrar o filtro duas vezes.. vc ta adicionando na configuração de segurança e também na configuração padrão de filtros adicionais. Deixa apenas na do filtro normal.

Alberto tudo bem ?

Realizei a remoção do filtro na classe SecurityConfiguration, conforme informado, mas o erro de configuração ainda permanece.

Se eu deletar todo o conteudo e tentar salvar novamente, ocorre a mesma situação =/

Abaixo vou colocar meu bitbucket, acredito que vai ficar mais facil pra visualizar o que esta ocorrendo.

Pra ressaltar, ja dei clean, limpei os arquivos do tomcat, ja reinstalei o tomcat.....

https://bitbucket.org/Sleepk/spring-2/src

git clone https://Sleepk@bitbucket.org/Sleepk/spring-2.git

solução!

Pessoal, boa noite.

Problema solucionado, acabei localizando uma vídeo aula do curso de uma outra empresa que relata sobre o mesmo erro de encoding que estou enfrentando, ao buscar mais sobre o assunto no google, vi que também ha um tópico no fórum da alura informando o mesmo erro.

https://cursos.alura.com.br/forum/topico-erro-de-encoding-utf-8-utilizando-o-filtro-do-spring-security-40480

Ao implementar a dica do rafael na classe:

SpringSecurityFilterConfiguration

sobreescrevendo o metodo:

@Override
    protected void beforeSpringSecurityFilterChain(ServletContext servletContext) {
        FilterRegistration.Dynamic characterEncodingFilter = servletContext.addFilter("encodingFilter",
                new CharacterEncodingFilter());

        characterEncodingFilter.setInitParameter("encoding", "UTF-8");
        characterEncodingFilter.setInitParameter("forceEncoding", "true");
        characterEncodingFilter.addMappingForUrlPatterns(null, false, "/*");

    }

Meu projeto voltou a registrar os itens com acentuação.

Unico problema é que, o que havia sido registrado anteriormente, foi perdido =/.