问题是这样的:
         我的系统中每页都要有导航条。于是我写成一个head.jsp 包含到每个页面中。
    head.jsp可以根据不同的用户进入的session而生成相应的导航条。    但发现——当在同一台机器上以不同用户操作时,有串用户的现象(以A类用户进入系统,而某一页面的导航条是B类用户)。但重新刷新一次此页面又正确了!
    现象表明——被包含的head.jsp有时候不被重编译!
    用了两种包含方法都不行<%@include file="head.jsp"%> 
                          <jsp:include page=="head.jsp" flush="true"/>    忘高手指点,给个解决办法!

解决方案 »

  1.   

    1,这与编译期无关啊;
    2,你确定是在用户切换时session有没有失效,按你的逻辑没失效结果应是正确的;
    3,加上这句再试试,response.setHeader("pragram","no-cache");
      

  2.   

    <jsp:include page=="head.jsp" flush="true"/>
    这里的"=="应该是你发帖打错了吧
    你说是串用户,而不是不出现相应页面,说明包含是没有错的.
    应该是其他的问题,看一下Session的处理吧
    共同学习
      

  3.   

    我的session name就一个,当第二个用户登陆时,前面的那个session 就应该是覆盖了!response.setHeader("pragram","no-cache");具体作用是什么呢?应加在哪里?<jsp:include page=="head.jsp" flush="true"/>发贴疏忽了。。
    应该是<jsp:include page="head.jsp" flush="true"/>
    谢谢各位指点!
      

  4.   

    response.setHeader("pragram","no-cache") 应该是加载时不将页面缓存
    jsp中要放在<% %>中。
    对了,你在本机以两个用户测试时是用的什么浏览器,用两个IE吗?
      

  5.   

    阻止浏览器缓存后解决此问题!
    response.setHeader("Cache-Control","no-cache"); 
    //Forces caches to obtain a new copy of the page from the origin serverresponse.setHeader("Cache-Control","no-store"); 
    //Directs caches not to store the page under any circumstanceresponse.setDateHeader("Expires", 0); 
    //Causes the proxy cache to see the page as "stale"response.setHeader("Pragma","no-cache"); 
    //HTTP 1.0 backward compatibility
    多谢各位指点!
      

  6.   

    嗯,肯定是session的缓存问题