我见过一个处理文件处理的Web应用程序(从中恢复应用程序) 第三方应用程序并将它们存储在数据库中以供进一步使用)。
该特定Web应用程序还配置了servlet过滤器,其唯一基本目的是将字符编码设置为UTF-8。
例如:
public class ResponseFilterExample implements Filter {
public void doFilter(ServletRequest request, ServletResponse response, FilterChain filterchain) throws IOException, ServletException {
filterchain.doFilter(request, response);
response.setContentType("text/html");
response.setCharacterEncoding("UTF-8");
}
}
现在我的问题是,
之间有什么区别request.setCharacterEncoding("UTF-8");
和
response.setCharacterEncoding("UTF-8");
答案 0 :(得分:0)
嗯,区别在于一个sets the encoding on the request,另一个sets the encoding on the response。
以上文档链接更详细地解释。
ServletRequest.setCharacterEncoding()
:
覆盖此请求正文中使用的字符编码的名称。必须在读取请求参数或使用
getReader()
读取输入之前调用此方法。否则,它没有效果。
ServletResponse.setCharacterEncoding()
:
设置发送到客户端的响应的字符编码(MIME字符集),例如,设置为UTF-8。