2011-07-15 69 views
1

我面临的一个问题是JSP会话ID值在开发服务器上的每个浏览器刷新上发生变化,但我不知道是什么原因。JSP会话ID在每次刷新时发生更改

我的JSP sessiontest.jsp:

 
<%@ page language="java" contentType="text/html; charset=UTF-8" 
    pageEncoding="UTF-8"%> 
<%!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> 
<html> 
<head> 
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> 
<title>Insert title here 
</head> 
<body> 
<a href="sessiontest.jsp?id="><%=session.getId()%> 
</body> 

我的浏览器是火狐5,服务器是Tomcat的6

我已经测试这个JSP上http://localhost:8080/SessionTest/sessiontest.jsp?id=B68DA1C526F083800AED9D83AF1C8BC0,一切都很好,和会话ID保持同样刷新后。但是,如果我在开发服务器上部署war文件(http://www.company.com/subdomain/SessionTest/sessiontest.jsp),则会在每次刷新时更改会话ID值。 任何帮助将不胜感激。 谢谢。

+0

问题只发生在您的浏览器中吗?任何Cookie拦截器安装?你在哪里创建会话? – home

回答

3

我怀疑你的公司网站没有运行只有Tomcat服务器,但有一个Apache网络服务器面对它。这是企业网站的标准做法。

Apache Web服务器有mod_proxyProxyPassReverse一些设置和配置,以保持浏览器<之间的会话 - >阿帕奇< - > Tomcat的。

你可以和你的管理团队核对一下吗?

+0

对不起,节日期间的迟到回应。你说得对,Tomcat服务器前面有Apache web服务器。 Apache Web服务器保持会话而不是反转它。谢谢。 – user200340