|
3 | 3 | import config.root.RootConfig; |
4 | 4 | import config.web.WebConfig; |
5 | 5 | import javax.servlet.MultipartConfigElement; |
6 | | -import javax.servlet.Filter; |
| 6 | +import javax.servlet.FilterRegistration; |
7 | 7 | import org.springframework.web.filter.CharacterEncodingFilter; |
8 | 8 | import javax.servlet.ServletContext; |
9 | 9 | import javax.servlet.ServletException; |
@@ -38,13 +38,16 @@ protected void customizeRegistration(ServletRegistration.Dynamic registration) { |
38 | 38 | @Override |
39 | 39 | public void onStartup(ServletContext servletContext) throws ServletException { |
40 | 40 | super.onStartup(servletContext); |
| 41 | + // set active profiles |
41 | 42 | servletContext.setInitParameter("spring.profiles.active", "development"); |
42 | | - } |
43 | | - |
44 | | - @Override |
45 | | - protected Filter[] getServletFilters() { |
46 | | - CharacterEncodingFilter characterEncodingFilter = new CharacterEncodingFilter(); |
47 | | - characterEncodingFilter.setEncoding("UTF-8"); |
48 | | - return new Filter[]{characterEncodingFilter}; |
| 43 | + // add CharacterEncodingFilter solve encode problems with Tomcat server |
| 44 | + FilterRegistration.Dynamic encodingFilter = servletContext.addFilter("encoding-filter", new CharacterEncodingFilter()); |
| 45 | + encodingFilter.setInitParameter("encoding", "UTF-8"); |
| 46 | + encodingFilter.setInitParameter("forceEncoding", "true"); |
| 47 | + /* |
| 48 | + To make sure the characterEncodingFilter is first in the chain you need to change the middle argument in addMappingForUrlPatterns to false. |
| 49 | + The value false ensures that the CharacterEncodingFilter is the first filter in the chain, the value true adds the filter to the end of the filterChain |
| 50 | + */ |
| 51 | + encodingFilter.addMappingForUrlPatterns(null, false, "/*"); |
49 | 52 | } |
50 | 53 | } |
0 commit comments