关于Tomcat同源跨项目中session共享问题

原创 2016年08月30日 22:47:02

关于Tomcat同源跨项目中session共享问题

前言:本人Java后台开发者,工作中遇到session共享的问题,查完资料解决问题后总结一下,方便日后工作。

  • 首先条件是同源,在此基础上不同的项目之间session共享
  • 简而言之就是projectB需要有使用projectB的session,登录信息,用户信息之类

第一步,修改tomcat中conf目录下的serve.xml文件

  • 修改前:<Host appBase="webapps" autoDeploy="true" name="localhost" unpackWARs="true" xmlNamespaceAware="false" mlValidation="false">
    </Host>

  • 修改后:<Host appBase="webapps" autoDeploy="true" name="localhost" unpackWARs="true" xmlNamespaceAware="false" mlValidation="false">
    <Context path="/grass" reloadable="true" crossContext="true"></Context>
    <Context path="/webapp" reloadable="true" crossContext="true"></Context>
    </Host>

第二步,将所需共享的session存放至application中

  • 在projectA中设置,这是在java类方法中使用session的例子,jsp直接调用:request.getSession().setAttribute("uid", userinfo.get("UID"));
    request.getSession().setAttribute("phone", phone);
    request.getSession().getServletContext().setAttribute("session", request.getSession());

第三步,在projectB中使用A创建的session

  • 在projectB中获取session中的信息,这是在jsp中调用的示例代码:<%=((HttpSession)application.getContext("/grass").getAttribute("session")).getAttribute("uid") %>
    <%=((HttpSession)application.getContext("/grass").getAttribute("session")).getAttribute("phone") %>

最后

  • 希望可以帮助到有需要的同学,加油,没有调通的话可以联系我的邮箱:dongtongxue@aliyun.com

同源策略与跨域资源共享

1.同源策略 同源策略,就是限制JS只能访问与所在页面同一个域(相同协议、域名、端口)的内容。浏览器的整个安全体系均建立在此之上。 支持同源策略的浏览器其实并不会阻止跨域请求的发送和响应的接收,它仅仅...
  • AvaBlingBling
  • AvaBlingBling
  • 2016年09月23日 11:41
  • 266

关于Tomcat同源跨项目中session共享问题

关于Tomcat同源跨项目中session共享问题前言:本人Java后台开发者,工作中遇到session共享的问题,查完资料解决问题后总结一下,方便日后工作。 首先条件是同源,在此基础上不同的项目之间...
  • qq_33703288
  • qq_33703288
  • 2016年08月30日 22:47
  • 559

关于Tomcat同源跨项目中session共享问题

关于Tomcat同源跨项目中session共享问题前言:本人Java后台开发者,工作中遇到session共享的问题,查完资料解决问题后总结一下,方便日后工作。 首先条件是同源,在此基础上不同的项目之间...
  • qq_33703288
  • qq_33703288
  • 2016年08月30日 22:47
  • 559

session共享问题(一)----同一tomcat多个应用session问题

问题描述: 最近一直在研究session共享的问题,现在分享一下我最近对这个问题的理解。这需要分不同情况下,不同的项目部署情况对应的解决方式也不一样。今天我讲的...
  • qq_18416057
  • qq_18416057
  • 2016年09月13日 11:31
  • 3952

多台tomcat服务的session共享 memcached与redis

由于tomcat的并发数瓶颈问题,可以说使用tomcat的web应用,几乎都存在session不同步问题。 借鉴网上的资料,我也找时间实验一把。 文中涉及的软件下载和安装,一一略过,想必大家也没必...
  • fu9958
  • fu9958
  • 2013年12月14日 23:49
  • 12144

同一TOMCAT下不同WEB工程之间实现SESSION共享的办法,可用来处理单点登录。

若工程是在同一TOMCAT下问题好解决,但不在同一TOMCAT下的跨服务器跨站点就需要用别的办法来现实了,引入MC缓存实现是个不错的推荐。 1、server.xml配置        ...
  • lmx88
  • lmx88
  • 2013年12月18日 18:03
  • 2848

关于Tomcat同源跨项目中session共享问题

关于Tomcat同源跨项目中session共享问题前言:本人Java后台开发者,工作中遇到session共享的问题,查完资料解决问题后总结一下,方便日后工作。 首先条件是同源,在此基础上不同的项目之间...
  • qq_33703288
  • qq_33703288
  • 2016年08月30日 22:47
  • 559

nginx——记三天学习并解决项目中遇到的问题

又是新的一周,上周的最后两天一直在研究Nginx,并解决了一下项目组中的一些问题。 原本配置nginx和更改配置是一名C++的同事再搞,后来因为他在给java web项目(一个是后台管理的项目,一个是...
  • werqjk123
  • werqjk123
  • 2017年02月27日 16:25
  • 247

Redis学习笔记(七)nginx+tomcat反向代理下使用tomcat-redis-session-manager进行session共享中值得注意的一个问题

公司目前项目使用nginx反向代理+多个tomcat进行负载均衡,之前使用ip_hash策略进行session控制。近期有考虑不再使用ip_hash策略,所以需要进行session共享。 根据项目实...
  • u014756827
  • u014756827
  • 2016年05月31日 15:06
  • 399

如何解决不同的webApp的session 共享问题

复制严格说来不算持久化保存,因为session实际上还是保存在内存里,不过同样的信息被复制到各个cluster内的服务器进程中,这样即使某个服务器进程停止工作也仍然可以从其他进程中取得session。...
  • jjkliu
  • jjkliu
  • 2014年02月10日 09:50
  • 3263
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:关于Tomcat同源跨项目中session共享问题
举报原因:
原因补充:

(最多只允许输入30个字)