我有一个web应用程序,我想跟踪用户想要使用哪种语言来查看各种页面。我使用会话属性来存储他们的选择。我像这样设置会话属性…
String languageChosen = request.getParameter("LANG");
request.getSession().setAttribute("LANG", languageChosen);
然后在其他方法中,我像这样检索属性…
String languageChosen= (String) request.getSession().getAttribute("LANG");
当我在运行Tomcat的本地环境中测试这个应用程序时,它工作得很好。但是,当我将应用程序部署到我们的远程开发服务器(即Weblogic)时,会话属性没有被捕获。结果,应用程序不能以正确的语言显示。
我应该为Weblogic存储不同的会话属性吗?我以前从未遇到过这个问题。我们在同一个Weblogic实例上运行其他应用程序,这些应用程序使用会话属性而没有问题。什么好主意吗?
我找到了问题所在。当前的开发URL不是一个安全的URL,我在我的weblogic.xml文件中将安全cookie设置为TRUE。一旦我把它改为FALSE,一切都正常了。
现在我只需要记得当我们搬到一个安全的环境时把它改回TRUE。哈哈! !