tomcat-Java加上ContextPath后Session失效 解决办法
来源:互联网 发布:装修效果图 设计软件 编辑:程序博客网 时间:2024/05/16 11:30
参考:
Configuration is done by editing META-INF/context.xml <Context sessionCookiePath="/something" sessionCookieDomain=".domain.tld" /> Applies to 6.0.20.启用二级域名后,面临一个主域名与二级域名之间 session 不能共享的问题,带来的麻烦就是用户在主域名登陆,但由于二级域名 session 不能共享 ,因此无法进行登陆的操作,对一些功能有一些影响。问题的原因如下:Tomcat下,不同的二级域名,Session默认是不共享的,因为Cookie名称为JSESSIONID的Cookie根域是默认是没设置的,访问不同的二级域名,其 Cookie 就重新生成,而 session 就是根据这个 Cookie 来生成的,所以在不同的二级域名下生成的 Session 也不一样。 找到了其原因,就可根据这个原因对 Tomcat 在生成 Session 时进行相应的修改。例如:<Context sessionCookiePath="/" sessionCookieDomain=".domain.com" />
这样就解决session的domain问题了,而不需要修改tomcat源代码,或者增加valve等相对复杂的手法。配置Context除了在server.xml或者conf/Catalina/localhost中,如今6版本也可以在具体的app的目录中创建context.xml文件来配置,路径如下/META-INF/context.xml方案一、在项目的/MET-INF/ 目录下创建一个 context.xml 文件,内容为:
<?xml version="1.0" encoding="UTF-8"?> <Context useHttpOnly="true" sessionCookiePath="/" sessionCookieDomain=".XXXX.com" />
方案二、修改 Tomcat 的 server.xml 文件,内容为:
<Context path="" docBase="ROOT" reloadable="false" useHttpOnly="true" sessionCookiePath="/" sessionCookieDomain=".XXXX.com" />tomcat6以后,不推荐方案二,因为这样无法进行热部署,修改server.xml必须要重启tomcat
方案三:$CATALINA_BASE/conf/context.xml
这种将对同一个tomcat下的所有应用生效
方案四:
$CATALINA_BASE/conf/[enginename]/[hostname]/context.xml
例如:D:\Tomcat6.0\conf\Catalina\Localhost\context.xml
这种是对同一host下所有应用生效
方案一和方案四修改context.xml后会自动重新加载应用
值得注意的是,这几种方案同时使用是有优先顺序的,
1、
$CATALINA_BASE/conf/context.xml
2、
D:\Tomcat6.0\conf\server.xml
3、
D:\Tomcat6.0\conf\Catalina\Localhost\appname.xml
4、
/MET-INF/context.xml
- tomcat-Java加上ContextPath后Session失效 解决办法
- tomcat重新启动后,session不失效
- 使用window.open后session失效的解决办法
- session失效后,跳转到登陆页面的解决办法
- tomcat设置session失效时间
- tomcat 设置session失效时间
- session失效后重新登录
- java session失效设置
- session失效刷新后登录页面嵌入在iframe中的解决办法
- session失效刷新后登录页面嵌入在iframe中的解决办法
- SpringBoot学习:整合shiro(rememberMe记住我后自动登录session失效解决办法)
- SpringBoot学习:整合shiro(rememberMe记住我后自动登录session失效解决办法)
- iframe,H5标签embed加载页面,session失效后页面嵌套解决办法
- vs2010 失效后的解决办法
- PHP session 失效不传递的解决办法
- 关于 iframe 下 session 失效解决办法记录
- PHP session 失效不传递的解决办法
- PHP session 失效不传递的解决办法
- Shell_NotifyIconGetRect获取托盘图标区域矩形大小
- [.net] 抓Workgroup、抓Domain
- JAVA开源工具汇总
- The Space For App Developers
- RedHat yum 添加sohu源
- tomcat-Java加上ContextPath后Session失效 解决办法
- 粗浅理解RSA
- PLSQL Developer实现数据库间表结构和数据对比和同步
- android PendingIntent:有用的requestCode参数
- 计算机是如何解析我们的汉字和英文?什么是字符集?为什么会出现乱码?
- extJs xtype
- xcode相关的一些知识(一)
- HTML5经典小游戏之坦克(二)
- IOS——Core Data