Spring MVC が提供する CharacterEncodingFilter を見ていました。リクエストのエンコーディングが指定されたエンコーディングに強制されたときに、レスポンスのエンコーディングを設定することしかできなかったのはなぜですか? Acceptヘッダーフィールドに何も指定されていない場合、デフォルトの応答エンコーディングを設定できないのはなぜですか? または、リクエストにエンコーディングが含まれていない場合は?
コード:
@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);
}
これは 、リクエストがエンコーディングが強制的に設定されます。なんで?
前もってありがとう、マーティン