tomcat版本:apache-tomcat-6.0.29(次方tomcat6和tomcat7支持)

 

1.修改D:\apache-tomcat-6.0.29\conf\server.xml文件

 



由于每个app都有一个唯一的一个ServletContext 实例对象,下面的所有的servlet 共享此ServletContext。

利用ServletContext 中的setAttribute() 方法把Session 传递过去 然后在另外一个app中拿到session实例。



设置为true 说明你可以调用另外一个WEB应用程序 通过ServletContext.getContext() 获得ServletContext ;

然后再调用其getattribute() 得到你要的对象。

 

 

 

2.创建两个web项目

两个项目访问URL为:

        http://localhost:8080/app1/

        http://localhost:8080/app2/

 

app1的index.jsp代码如下:

app2的index.jsp代码如下:

3.访问项目:

 

4.原理(个人浅见)

全局只用app1的session!

app1使用session时,直接使用;其他app使用session的时候通过application获取app1的session,然后使用。

当浏览器关闭,app1的session也就关闭。application的globalSession的value为null。


获取application

application为jsp的九大内置对象,在jsp里面可以直接使用。在servlet或者struts2的action里面可以通过request.getSession.getServletContext()获取!

 

APP1的角色

一般app1扮演“首页”角色,初始化。后面的项目使用其session。

 

 

同一个tomcat多个web应用共享session的更多相关文章

  1. 同一个Tomcat下不同项目之间的session共享

    最近发现项目运行过程中经常会抛出一个 NullPointerException的异常,经检查发现异常出现的地方是日志模板,一阵检查,正常无误 (把所有记录日志的地方都点了一遍,心里是崩溃的),万念俱灰 ...

  2. php 高级 多台web服务器共享session的方法

    解决多台web服务器共享session的问题,至少有以下三种方法:   一.将本该保存在web服务器磁盘上的session数据保存到cookie中 即用cookie会话机制替代session会话机制, ...

  3. php面试题12(多态web服务器共享session的方法:将session存到数据库)($val=&$data[$key];)

    php面试题12(多态web服务器共享session的方法:将session存到数据库)($val=&$data[$key];) 一.总结 1.多态web服务器共享session的方法: ...

  4. Nginx+tomcat集群使用redis共享session

    一 :nginx负载均衡 当Tomcat当做独立的Servlet容器来运行时,可看做是能运行Java Servlet的独立Web服务器. 此外 Tomcat还可以作为其他Web服务器进程内或者进程外的 ...

  5. 基于nginx tomcat redis分布式web应用的session共享配置

    一.前言 nginx 作为目前最流行的开源反向代理HTTP Server,用于实现资源缓存.web server负载均衡等功能,由于其轻量级.高性能.高可靠等特点在互联网项目中有着非常普遍的应用,相关 ...

  6. 多台web如何共享session进行存储(转载)

    session的存储了解以前是怎么做的,搞清楚了来龙去脉,才会明白进行共享背后的思想和出发点.我喜欢按照这样的方式来问(或者去搞清楚):为什么要session要进行共享,不共享会什么问题呢? php中 ...

  7. PHP实现多web服务器共享SESSION数据-session数据写入mysql数据库

    http://www.php100.com/html/webkaifa/PHP/PHPyingyong/2010/0822/5276.html http://hi.baidu.com/lei_com/ ...

  8. cookie、session的联系和区别,多台web服务器如何共享session

    1.Cookie与Session的联系: cookie在客户端保存状态,session在服务器端保存状态.但是由于在服务器端保存状态的时候,在客户端也需要一个标识,所以session也可能要借助coo ...

  9. 同一个tomcat多个项目共享session,一个tomcat两个项目共享sessionId

    同一个tomcat多个项目共享session,一个tomcat两个项目共享sessionId >>>>>>>>>>>>>& ...

随机推荐

  1. 用Python编写九九乘法表考虑print自动换行问题

    编写了一个简单的小程序九九乘法表,代码如下: for i in range(1,10): for j in range(1,i+1): print(" %d*%d=%d" % (j ...

  2. 为VS2010默认模板添加版权信息 .

    通过以下方式可以自定义CS类文件代码模板(以下为VS2010,VS2008类似): 1,打开VS的安装目录,例如 D:\Program Files\Microsoft Visual Studio 10 ...

  3. Trace、Debug和TraceSource的使用以及日志设计 .

    [-] Trace 和 Debug区别 什么是Listeners 跟踪开关 使用BooleanSwitch开关 使用TraceSwitch开关 使用TraceSource代替Trace和Debug 设 ...

  4. Tomcat中部署WEB项目的四种方法

    对Tomcat部署web应用的方式总结,常见的有以下四种: 1.[使用控制台部署] 访问Http://localhost:8080,并通过Tomcat Manager登录,进入部署界面即可. 2.[利 ...

  5. 关于QStringRef

      QString 为字符串操作提供了各种成员比如mid().left().right().它们都创建会一个新的字符串,因此有一个对在已存在QString的malloc和深拷贝. 与此相反,QStri ...

  6. Linux清除磁盘上的RAID信息

    我的笔记本是DELL的Inspiron 14z,原装存储器是由32G的固态硬盘和512G的机器硬盘组成.后来我自己又给它加了一个256G的固态硬盘,装并装上了CentOS,打算把500G的机械硬盘当资 ...

  7. Puppet

    一个完整的自动化运维包括系统安装.配置管理.服务监控三个方面.那今天咱们大家一起来学习一下Puppet实际运维中的案例.仅供参考,欢迎大家提更多的意见! 一.应用背景 某公司新到500台服务器,需要安 ...

  8. Java再学习——Executor,ExecutorService,ScheduledExecutorService与Executors

    1,Executor.ExecutorService和ScheduledExecutorService,它们都是接口,它们的关系是ScheduledExecutorService继承ExecutorS ...

  9. DM 之 全解析

    一.设计模式的分类 二十三大设计模式,分为三大类: 1. 创建型模式,共五种:工厂方法模式.抽象工厂模式.单例模式.建造者模式.原型模式. 2. 结构型模式,共七种:适配器模式.装饰器模式.代理模式. ...

  10. oracle 11g ora-01843 无效月份

    PS:进入注册表--regedit--HKEY_LOCAL_MACHINE--SOFTWARE--ORACLE-KEY_OraDb11g_home1---NLS_LANG(双击此项设置的键值为AMER ...