日期:2014-05-17  浏览次数:20890 次

关于filter的处理response
最近在学习filter中,现在我在filter中加入这样的代码,response.setContentType("text/html;charset=GBK");但是在结果页面result.jsp中加入了,<%response.setContentType("text/html;charset=UTF-8"); %>,为什么,打印<%=response.getCharacterEncoding() %>的时候显示的是UTF-8呢?

不是说,filter在jsp响应完了之后到浏览器的时候,会拦截response,修改response内容么?那么应该显示的是GBK才对啊。
servlet filter response

------解决方案--------------------
response.setContentType("text/html;charset=GBK");
执行了没
------解决方案--------------------
检查下你页面上是否有直接设置result.jsp的encoding代码
------解决方案--------------------
仔细想清楚你的代码执行顺序,参照下图