springMVC client requests Chinese garbled static resources and access problems to solve

Disclaimer: This article is a blogger original article, reproduced, please attach Bowen link! https://blog.csdn.net/f2764052703/article/details/90477539

Client requests garbled

The principle is to create a filter to filter all requests to see encoding each request is the specified encoding
implementation code:

  1. Create a filter to solve the garbage
    package com.imooc.oa.global;
    
    import javax.servlet.*;
    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;
    import java.io.IOException;
    
    public class EncodingFilter implements Filter {
    	private String encoding = "utf-8";
    	public void init(FilterConfig filterConfig) throws ServletException {
        	if(filterConfig.getInitParameter("encoding")!=null){
            	encoding = filterConfig.getInitParameter("encoding");
        	}
    	}
    
    	public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain) throws IOException, ServletException {
        	HttpServletRequest request = (HttpServletRequest)servletRequest;
        	HttpServletResponse response = (HttpServletResponse)servletResponse;
        	request.setCharacterEncoding(encoding);
        	response.setCharacterEncoding(encoding);
        	filterChain.doFilter(request,response);
    	}
    
    	public void destroy() {
    	}
    }
    
    
  2. The filter configuration in 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>
    

Static Resource Access

Solving principle: Configuring static resources in defaultservlet spring provides us access

<!--设置访问静态资源-->
<servlet-mapping>
  <servlet-name>default</servlet-name>
  <url-pattern>*.css</url-pattern>
</servlet-mapping>
<servlet-mapping>
  <servlet-name>default</servlet-name>
  <url-pattern>*.js</url-pattern>
</servlet-mapping>
<servlet-mapping>
  <servlet-name>default</servlet-name>
  <url-pattern>*.jpg</url-pattern>
</servlet-mapping>

Guess you like

Origin blog.csdn.net/f2764052703/article/details/90477539