如果在SSM里面,如果是你自己项目的web.xml里面没设置编码为UTF-8或者自己的静态资源编码对应不上响应的编码,这种简单的就不说了
我之前用tomcat9老是发现layui里面的中文提示乱码,搞了半天没搞出来,明明文件编码是utf8,响应编码也是,为什么就会乱码呢?
解决方案:
找到本地tomcat所有的路劲,找到里面/conf/web.xml,找到default那个servlet
default
org.apache.catalina.servlets.DefaultServlet
debug
0
listings
false
fileEncoding
UTF-8
1
解释:
1. 默认没有指定字符编码,需要指定字符编码(注意:是tomcat下面的web.xml,不是你自己项目的web.xml)
有人可能好奇,这个default是啥哦?
我们如果在自己项目的web.xml里面配置了url-pattern为 / ,就代表:我们会把我们所有的请求给DispatcherServlet处理,包括静态和动态的,我们会发现静态的请求404,动态的没问题
因为DispatcherServlet 根本没有处理静态资源的能力,然后我们如何解决?
找到springmvc.xml的配置文件添加 : (加了这个配置必须添加 因为这个配置和RequestMapping会有冲突,添加它了可以解决)
这个注解创建DefaultServletRequestHandler来处理静态资源,这个DefaultServletRequestHandler类似于我们自己写的Controller, 把静态资源交给tomcat/conf/web.xml里面的defaultServlet处理
所以,因为这个defaultServlet没指定编码,所以静态资源会乱码。
本文地址:https://blog.csdn.net/String_name_TT/article/details/111994407
如您对本文有疑问或者有任何想说的,请点击进行留言回复,万千网友为您解惑!