我用CSDN做例子!好比我的项目是CSDN
我先打开一个IE然后登陆CSDN.
然后再打开一个IE.
然后我在第一个IE上访问[修改密码]的功能!
然后我查看[修改密码]的真实路径!
然后我把这个路径复制到我第二次打开的IE上!就会出现[修改密码]的内容!但是我在每个jsp里面的头文件都做session验证了!应该新打开一个IE上直接输入路径就迁移到错误画面才对啊!
每打开的一个IE是不是就有一个新的Session啊?
而且我也在头文件设置了response.setHeader("Pragma","no-cache");!
我没有设置
<%
    response.setHeader("Cache-Control","no-cache");
    response.setDateHeader("Expires",0);
    response.setHeader("Pragma","no-cache");
%>
是因为如果设置了这样的话,Back时候会出现下面的警告信息!
就像CSDN,如果在框架里面的功能叶面[例如修改密码叶面],增加上面的内容的话!
那通过这个功能画面的url,在地址栏直接访问这个功能,然后再点Back的话就会出现下面的警告信息!-------------------------------------------敬告信息
警告: 网页已经过期 您申请的网页是用表单中提交的信息创建的。该网页已失效。由于有安全预警功能,Internet Explorer 不会自动再次提交您的信息。 
要重新提交信息并查看该网页,请单击刷新按钮。

解决方案 »

  1.   

    不在原来的ie上新建页面试试?
    直接点图标打开另外一个IE
      

  2.   

    "但是我在每个jsp里面的头文件都做session验证了",可能验证的方式不对,把代码贴出来看看
      

  3.   

    就是在jsp里面!伪代码如下
    User user = (User)session.get...("user");
    if(user==null)
           move("errorpage.jsp")
      

  4.   

    不在原来的ie上新建页面试试?
    直接点图标打开另外一个IE
    -------------------------------就是重新打开的ie.
    并不是在打开的ie里面点一个新窗口的!那样共用一个session我知道
      

  5.   

    用javascript
    --------------
    怎么用js
      

  6.   

    String userCode = 
    trim(request.getSession().getAttribute("userCode"));
    if (userCode.equals("")) {
      response.sendRedirect("session_timeout.jsp");
    }
      

  7.   

    User user = (User)session.get...("user");
    if(user==null)
           move("errorpage.jsp")错误加上如下这段代码试试: 
    if (session.getAttribute("User")==null || session.getAttribute("User")==""){
    response.sendRedirect("errorpage.jsp");
    }
      

  8.   

    不知道你是怎么开新窗口的
    应该是新开一个IE进程才可以的
    或者你是用资源管理器或是文件中输入地址的 那样也是同一个session
      

  9.   

    你又没注销session 当然session还是在的只有你注销了登陆 你的session才被释放 你说的验证才起到作用
      

  10.   

    session是一个会话 他跟帐户是一对一的从你登陆建立新的session 到你注销登陆 也就是离开时 释放session 跟开新的IE 什么cache 都没关系开个IE就给个新session? 怎么给 既然前个session已经没了 是不是再让你输入帐号??
      

  11.   

    用过sendredirect  从来没用过move
      

  12.   

    1.建立javascript
    2.需要注销session
    3.String userCode = 
    trim(request.getSession().getAttribute("userCode"));
    if (userCode.equals("")) {
      response.sendRedirect("session_timeout.jsp");
    }
      

  13.   

    下面是一段vb.net的代码:           Dim s As String = "d:\333.xml"
            cmd1.CommandType = CommandType.StoredProcedure
            Dim xr As XmlReader = XmlReader.Create(s)
            cmd1.Parameters.Add("@x", SqlDbType.Xml)
            cmd1.Parameters(0).Value = New SqlXml(xr)
            Dim sreader As SqlDataReader = cmd1.ExecuteReader如果我用java 操作sql server 2005 ,SqlDbType.Xml类型的New SqlXml(xr)
    我怎么得到。用什么类,什么方法。下面是一段vb.net的代码:           Dim s As String = "d:\333.xml"
            cmd1.CommandType = CommandType.StoredProcedure
            Dim xr As XmlReader = XmlReader.Create(s)
            cmd1.Parameters.Add("@x", SqlDbType.Xml)
            cmd1.Parameters(0).Value = New SqlXml(xr)
            Dim sreader As SqlDataReader = cmd1.ExecuteReader如果我用java 操作sql server 2005 ,SqlDbType.Xml类型的New SqlXml(xr)
    我怎么得到。用什么类,什么方法。