springmvc与html5提供<mvc:resources>来设置静态资源但是增加该设置如果采用通配符的方式增加拦截器的话仍然会被拦截器拦截,可采用如下方案进行解决:
方案一、拦截器中增加针对静态资源不進行过滤(涉及spring-mvc.xml)
在web.xml中增加对静态资源的处理
方案三、修改Spring的全局拦截设置为*.do的拦截(涉及web.xml)
这样设置Spring就会只针对以'.do'结尾的请求进行处理,鈈再维护静态资源
针对这三种方案的优劣分析:
第一种方案配置比较臃肿多个拦截器时增加文件行数,不推荐使用;
第二种方案使用默认的Servlet进行资源文件的访问Spring拦截所有请求,然后再将资源文件交由默认的Sevlet进行处理性能上少有损耗;
第三种方案Spring只是处理鉯'.action'结尾的访问,性能上更加高效但是再访问路径上必须都以'.action'结尾,URL不太文雅;
综上所述推荐使用第二和第三种方案
按照以往经验逐个排查开发环境统一为utf-8编码,服务器也配置了编码过滤器tomcat也是utf-8编码。前台页面也是utf-8编码的
郁闷,到底哪里出错了呢
排错1:开发者工具检查请求,发现我的post请求体(表单)乱码(回过头来看其实还是thymeleaf配置出错引发的)
排错2:感觉服务器应该没问题了可是页面怎么还是乱码?
百度查有人说可能是文件编码不对即文件编码不是页面中设置的utf-8,于是仔細检查另存一下发现依旧乱码 ==|
排错3:既然前台html没问题,服务器也没问题那么自然而然的怀疑到了thymeleaf身上了
1:模板解析器设置编码utf-8
2:视图解析器设置编码utf-8
版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。