同一套系统在tomcat布置了两次,系统里面一个String 的静态变量,也都有一个getter方法,在系统A中这个变量的值是"AAAA",在系统B中这个值是"BBBB",
但是我在系统A中第一次调用getter方法的时候返回的是系统A中的值"AAAA",第二次再调用这个getter方法的时候竟然会返回系统B中的值"BBBB",这个是怎么回事啊?
是否是tomcat中jvm共享的原因吗?我把work都清理过了还是没用,除了安装两个tomcat之外还有没有其他的解决方法?能否将同一个tomcat下的每一个服务都独立一个jvm?
运行环境是jdk1.4,tomcat5.X,请哪位达人帮我解析下啊?

解决方案 »

  1.   

    就是同样的一份程序,在tomcat下发布了两次,一个是htpp://localhost:8088/autoa(系统A),
    一个是htpp://localhost:8088/autob(系统B),就是两个项目
      

  2.   

    没人知道吗?看来真的是闹鬼啊,还是tomcat的bug?
      

  3.   

    很诡异,应该没用鬼,鬼都逍遥去了,不干扰程序
    能否告知你在哪里设置静态String值,怎么设置的?怎么调用get方法的?
      

  4.   

    servlet静态变量定义有问题!例如:在jsp页面中<%! String x,t; %>当servlet加载JSP时,静态方法定义的变量始终停留在servlet中了,而不同的用户去访问通一个jsp页面时候,如果高并发就可能出现x或t的值在不一样的情况,如你给个x值为3,而另外一个用户给x值为4;那你取出来的就是4了,这个是由于高并发引起的,不过楼主好像不是这种现象,自己好好查吧。
      

  5.   

    我是在程序里面定义了一个类,里面都是一个静态参数,每一个参数都有一个getter和setter,也就是最普通的,现在就是这个程序在同一个tomcat里面布置了两次就出现了上述问题
      

  6.   

    你看一看是不是你的jdk的版本问题,如果还出现就把在看看是不是两个程序有冲突。如果还是解决不了,加我为好友。我帮你问问别人
      

  7.   

    应该不至于吧,该不会是你两个tomcat设置的有问题吧,要不然怎么会出现这种问题的呢
      

  8.   

    你是不是 调用了这2个方法了
    你把其中的一个项目 删了
    留下一个 重新发布 试试看
    最后把工作空间的给删了
    兄弟 试试看
    不知道能行否还有 你每次只能发布一个 项目
    发布完了 就要重启服务
    如果不重启 还是可以访问到刚才的那个项目下的文件资源的如果想发布另一个项目 就要重新发布 然后重启服务如果还是不行
    只能 说明一个问题:你的变量在系统A中这个变量的值是"AAAA",在系统B中这个值是"BBBB", 指向了2个内存地址 
      

  9.   

    tomcat bug 静态变量在两个应用里没做隔离