jsp的乱码为什么只有用filter有效?

来源:百度知道 编辑:UC知道 时间:2024/06/20 04:15:47
开发jsp时,用的utf-8编码,遇到了form表单用post方式提交时的乱码问题。
用了网上说的PageEncoding=utf-8,
contentType="text/html;charset=utf-8",
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> ,
以及request.setCharacterEncoding("UTF-8");还有修改Tomcat的server.xml里,加上URLEncoding="utf-8"都不起作用,仍然是乱码。
最后用了filter的方法才将问题解决。
虽然问题解决了,但是想知道为什么只有用filter的方法才有效呢?(Tomcat的修改撤销了,其他的处理语句仍然保留)。

还有修改Tomcat的server.xml里,加上URLEncoding="utf-8"都不起作用,仍然是乱码,这个只是针对提交方法为get的。
并不是只有过滤器有作用。也有其他方法解决的。但是filter可以对请求进行过滤,不仅仅是权限控制,还有编码设置,一般在项目中都会使用到过滤器。而且编码都在过滤器这一环节来进行设置。

这个filter 所作的工作就是编码转换
filter 有效,那么他内部的方法拿出来用也是一样的,不过filter用起来比较方便,所以还是推荐filter

可能你还有没有转换到编码的网页,而filter是针对所有的网页的request都有处理.更加的全面吧