Servlets 使用ServletRequest和ServletResponse设置字符编码
我见过一个处理文件处理的web应用程序(从服务器接收应用程序) 第三方应用程序,并将其存储在数据库中以供进一步使用) 该特定web应用程序还配置了一个servlet过滤器,其唯一基本目的是将字符编码设置为UTF-8 例如:Servlets 使用ServletRequest和ServletResponse设置字符编码,servlets,Servlets,我见过一个处理文件处理的web应用程序(从服务器接收应用程序) 第三方应用程序,并将其存储在数据库中以供进一步使用) 该特定web应用程序还配置了一个servlet过滤器,其唯一基本目的是将字符编码设置为UTF-8 例如: public class ResponseFilterExample implements Filter { public void doFilter(ServletRequest request, ServletResponse response, FilterCh
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");
及
好吧,区别在于一个,另一个 上面的文档链接更详细地解释了这一点 : 重写此请求正文中使用的字符编码的名称。在读取请求参数或使用
getReader()
读取输入之前,必须调用此方法。否则,它就没有效果
:
将发送到客户端的响应的字符编码(MIME字符集)设置为UTF-8
第一个设置请求的字符编码(从浏览器到服务器),第二个设置响应的字符编码(从服务器到浏览器)。你读过这两个方法()的javadoc吗?
response.setCharacterEncoding("UTF-8");