Java HttpServletRequest getLocale返回操作系统区域设置而不是浏览器区域设置

Java HttpServletRequest getLocale返回操作系统区域设置而不是浏览器区域设置,java,firefox,tomcat7,vaadin,browser-addons,Java,Firefox,Tomcat7,Vaadin,Browser Addons,我正在使用vaadin框架,在我的应用程序中,我有: @Override public void onRequestStart(HttpServletRequest request, HttpServletResponse response) { currentIP = request.getRemoteAddr(); setLocale(request.getLocale()); handle.set(this); this.reques

我正在使用vaadin框架,在我的应用程序中,我有:

@Override
public void onRequestStart(HttpServletRequest request,
        HttpServletResponse response) {
    currentIP = request.getRemoteAddr();
    setLocale(request.getLocale());
    handle.set(this);    
    this.request = request;    
    this.response = response;
}

但是,request.getLocale()返回
en_US
,这是我的操作系统区域设置。但是,在用于切换区域设置的Firefox插件()中,我已将其设置为
cs\u CZ
,但是,getLocale()仍将返回
en\u US

尝试获取会话区域设置:

UI.getCurrent().getSession().getLocale();

这对我很有用。

你能发布你从浏览器发送的
Accept Language
标题吗?我认为快速区域设置切换程序只会更改Firefox UI,而不会更改HTTP头;q=0.7,en;q=0.3。嗯,我认为插件改变了这一点,因为我想测试不同地区的翻译支持…试试首选项->内容->语言。