JSP Filter过滤器设置编码问题。。。

我在doFilter方法中arg2.doFilter(arg0,arg1);语句后设置arg1.setContentType("text/html;charset=GBK... 我在doFilter方法中
arg2.doFilter(arg0, arg1);语句后设置arg1.setContentType("text/html;charset=GBK");或者arg1.setCharacterEncoding("GBK");并没有作用,没有我想要的GBK编码,
而设置了arg1.setContentType("text/plain");倒是能把数据变成纯文本,这是为什么?
为什么响应编码在过滤器里设置无效
展开
 我来答
liuyang054
2015-08-02 · TA获得超过9093个赞
知道大有可为答主
回答量:5317
采纳率:78%
帮助的人:5317万
展开全部
import java.io.IOException;

import javax.servlet.Filter;
import javax.servlet.FilterChain;
import javax.servlet.FilterConfig;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import org.omg.CORBA.Request;

public class EncodeFilter implements Filter {

@Override
public void destroy() {
// TODO Auto-generated method stub

}

@Override
public void doFilter(ServletRequest req, ServletResponse res,
FilterChain chain) throws IOException, ServletException {
// TODO Auto-generated method stub
System.out.println("字符编码过滤器");

HttpServletRequest request = (HttpServletRequest)req;
HttpServletResponse response = (HttpServletResponse)res;

request.setCharacterEncoding("UTF-8");
chain.doFilter(request, response);
}

@Override
public void init(FilterConfig config) throws ServletException {
// TODO Auto-generated method stub
}

}

以上就是Filter过滤器的代码,  都设置成UTF-8 支持中文,  写好了以上代码之后,要在web.xml文件中进行配置。

追问
我配置web.xml也配好,你上面说的我知道可以
我问的是response.setCharacterEncoding("GBK");为什么不起作用
Storm代理
2023-08-29 广告
"StormProxies是全球大数据IP资源服务商,其住宅代理网络由真实的家庭住宅IP组成,可为企业或个人提供满足各种场景的代理产品。点击免费测试(注册即送1G流量)StormProxies有哪些优势?1、IP+端口提取形式,不限带宽,I... 点击进入详情页
本回答由Storm代理提供
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式