我正在查看 Spring MVC 提供的 CharacterEncodingFilter。我想知道为什么只有在请求编码被强制为给定编码时才能设置响应编码?如果在接受头字段中没有指定任何内容,为什么不能设置默认响应编码?或者如果请求中没有编码?
编码:
@Override
protected void doFilterInternal(
HttpServletRequest request, HttpServletResponse response, FilterChain filterChain)
throws ServletException, IOException {
if (this.encoding != null && (this.forceEncoding
|| request.getCharacterEncoding() == null)) {
request.setCharacterEncoding(this.encoding);
if (this.forceEncoding) {
response.setCharacterEncoding(this.encoding);
}
}
filterChain.doFilter(request, response);
}
我发现这是参考 https://jira.springsource.org/browse/SPR-3328?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel 说明响应编码只能在请求时设置强制设置编码。为什么?
在此先感谢,马丁