tomcat修改jsessionid在cookie中的名称

 

一朋友说要修改tomcat的session cookie name,我翻了一下tomcat各个版本的源码(tomcat4已经没人用了,所以除外),帮朋友解决了问题,现总结了一下

修改后效果

1、tomcat5修改方法

在启动项中增加org.apache.catalina.SESSION_COOKIE_NAME参数

linux
JAVA_OPTS=’-Dorg.apache.catalina.SESSION_COOKIE_NAME=yousessionname

win
set JAVA_OPTS=”-Dorg.apache.catalina.SESSION_COOKIE_NAME=yousessionname

2、tomcat6和tomcat7修改方法相同

在Context容器标签上增加sessionCookieName参数

<Context path=”/” docBase=”webapp” reloadable=”false”sessionCookieName=”yoursessionname”></Context>

3、为啥这样就好用呢?

tomcat5时增加参数对所有Context生效,影响甚大,所以到以后的版本就仅针对Context设置了

tomcat5源码如下
public final class Globals
/**
* The name of the cookie used to pass the session identifier back
* and forth with the client.
*/
public static final String SESSION_COOKIE_NAME =
System.getProperty(“org.apache.catalina.SESSION_COOKIE_NAME”,
“JSESSIONID”);

tomcat6和tomcat7的源码差不多,如下
public class StandardContext
….省略若干
/**
* The name to use for session cookies. <code>null</code> indicates that
* the name is controlled by the application.
*/
private String sessionCookieName;
/**
* Gets the name to use for session cookies.
*
* @return  The value of the default session cookie name or null if not
*          specified
*/
public String getSessionCookieName() {
return sessionCookieName;
}

/**
* Sets the name to use for session cookies. Overrides any setting that
* may be specified by the application.
*
* @param sessionCookieName   The name to use
*/
public void setSessionCookieName(String sessionCookieName) {
String oldSessionCookieName = this.sessionCookieName;
this.sessionCookieName = sessionCookieName;
support.firePropertyChange(“sessionCookieName”,
oldSessionCookieName, sessionCookieName);
}

PS:需要修改其它参数可以直接翻看源代码或查看tomcat在线文档

出自my blog 宣传一下,嘿嘿

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值