Spring: CookieLocaleResolver の IllegalStateException を回避する
Spring を使っていて攻撃的なリクエストにより以下のような Exception が発生
java.lang.IllegalStateException: Encountered invalid locale cookie 'org.springframework.web.servlet.i18n.CookieLocaleResolver.LOCALE': [en==] due to: Locale part "en==" contains invalid characters
CookieLocaleResolver を拡張する事でエラーを回避できる。無効な値はデフォルト値に置き換えられる。
public class MyCookieLocaleResolver extends CookieLocaleResolver {
public MyCookieLocaleResolver(HttpServletRequest request) {
super();
super.setRejectInvalidCookies(false);
}
}