您的位置:首页 > 运维架构 > Tomcat

同一个tomcat多个web应用共享session

2012-05-10 22:10 281 查看


 

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

 



4000


由于每个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。

 

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。

 

 

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版本: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。


www.javady.com


java大数据处理(3)-千万级生成excel


java大数据处理(2)-千万级FTP下载


java性能编码规范整理二


java性能编码规范整理一

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息