免責事項:この記事はブロガーのオリジナルの記事、再現され、ボーエンのリンクを添付してください!https://blog.csdn.net/f2764052703/article/details/90477539
クライアントの要求が文字化け
原則は、各要求をコードする参照するすべての要求をフィルタリングするフィルタを作成し、指定されたエンコーディングで
実装コード:
- ごみを解決するためのフィルタを作成します。
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() { } }
- 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>
静的リソースへのアクセス
原理を解く:デフォルトサーブレット春に静的リソースを設定すると、私たちのアクセスを提供します
<!--设置访问静态资源-->
<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>