乱码!一生之敌!!!
UserController
1 | package com.lizhi.controller; |
login.jsp
1 | <%@ page contentType="text/html;charset=UTF-8" language="java" %> |
index.jsp
1 | <%@ page contentType="text/html;charset=UTF-8" language="java" %> |
结果如下:
我们先尝试一下配置一个过滤器,这是第一种方案
1 | package com.lizhi.filter; |
记得去web.xml中注册
1 | <filter> |
我们尝试后发现,没有任何效果,那既然我们写的过滤器不行
那springmvc给我们写了一个专门处理乱码的过滤器,我们来配置一下,这是第二种方案,很稳妥
1 | <filter> |
测试后发现,还是乱码!!这时候我们可以去看一下tomcat的config目录下的server.xml,找到connector标签并修改属性
1 | <Connector port="8080" protocol="HTTP/1.1" |
发现还是不行,我们去找一个其他大佬自己写的过滤器试一试,这是第三种方案
1 | package com.lizhi.filter; |
结果测试发现,还是不对!其实乱码的问题到这里一般都会解决了,但是为什么还是不行呢?
其实是在注册filter的时候就出错了,接下来看下面的正确配置,大家可以看一下有什么区别,
1 | <filter> |
有的小伙伴可能在一开始就看出来了,没错,就是<<url-pattern>/*</url-pattern>>
这里的拦截路径我们应该使用/*
而不是/
两者有什么区别呢?
前者是拦截一切请求,包括jsp
而后者会拦截除了jsp的所有资源
相信吃了这次亏,大家之后就再也不会忘记这个坑了!而且也了解了大部分乱码问题的解决方案!