Tomcat在不同web应用程序中共享数据
1. 下载Tomcat5.5,这里使用的Tomcat5.x版本,对于Tomcat6.x应该是类似的配置;
2. 添加三个配置文件,文件名和内容如下:
conf/Catalina/localhost/jsp-examples-share.xml
conf/Catalina/localhost/jsp-examples-1.xml
conf/Catalina/localhost/jsp-examples-2.xml
3. 这里简单起见,使用Tomcat5.x自带的例子应用程序jsp-examples,复制jsp-examples成三个新的应用程序,分别为jsp-examples-share, jsp-examples-1和jsp-examples-2;
4. 创建一个test.jsp文件,并将其放置到上面创建的三个web应用程序jsp-examples-share, jsp-examples-1和jsp-examples-2下,文件内容如下:
5. 测试。
启动Tomcat,访问http://localhost:8080/jsp-examples-share,然后设置mydata的值
访问http://localhost:8080/jsp-examples-1和http://localhost:8080/jsp-examples-2,此时会看到在jsp-examples-share中设置的值已经可以在另两个应用程序中访问了。
问题:这种实现确实解决了多个web app之间数据共享的问题,但是他的共享是类似于application级别,而不是session级别的,所以他只能共享一些全局和用户无关的信息,如果需要共享和用户相关的信息,就需要加一些约束来存储数据,并且需要加一个listener去清理过期数据。
参考资料:
http://tomcat.apache.org/tomcat-5.5-doc/config/context.html