【发布时间】:2017-11-21 19:57:11
【问题描述】:
在我的 Java 应用程序中,我将默认系统区域设置 (Locale.getDefault()) 设置为我的 tomcat Web 应用程序的 HTTP 请求的 Accept-Language 标头。
就我而言,这是de_DE。
在服务器端,我尝试使用request.getLocale() 获取语言环境。但我只得到一个空字符串。
如果我将 Accept-Language 设置为 de,一切正常。
为什么de_DE 不能用作 Accept-Language 标头?
编辑:
这是我的客户端代码:
HttpURLConnection connection = (HttpURLConnection) new URL(url).openConnection();
connection.setRequestProperty("Accept-Language", Locale.getDefault().toString());
这是我的服务器端代码:
request.getLocale().toString(); //empty string
request.getHeader("Accept-Language"); //"de_DE"
【问题讨论】:
-
这不能回答我的问题。问题(在我看来)不是 Java 返回错误的位置,而是 tomcat 无法识别 Accept-Language 标头中的 de_DE。
-
你怎么知道问题出在Tomcat上?你试过其他服务器吗?你能给我们一些代码以便我们帮忙吗?