Tomcat SessionId长度
最近在做一个接口项目,其中有一个接口的节点在规范中明确要求输入一个长度为32位的SessionID。开始,项目在开发的Tomcat6.0环境下运行,接口一切正常。后来,移到测试机器中的Tomcat下,发现该验证接口返回的全是错误结果。通过跟踪HTTP包发现,测试机上Tomcat产生的SessionID越界,除了原有32位还跟有一串固定的字符。<%
System.out.println(session.getId());
%>
DEV Tomcat: JSESSIONID=1392155003AF2D71BB5FFCA93EAC9930
TEST Tomcat: JSESSIONID=73B09B4A798FB8354D0A00CFFC6A4BA9.jvm1
比对开发和测试环境的conf/server.xml,发现测试机器server.xml中节点<Enginename="Standalone" defaultHost="localhost" jvmRoute="jvm1">设置了jvmRoute属性,去掉后生成的SessionId就是32位。
在Weblogic下默认SessionID的长度为52位,但也可以将其长度设置为32位。修改当前项目下的weblogic.xml配置文件。
<session-descriptor>
<id-length>32</id-length>
</session-descriptor>
页:
[1]