刚看Struts,写了个简单的只有注册、登陆、添加日记、登出功能的JSP,页面跳转是这样的:注册登陆界面为index.jsp,登陆成功转menu.jsp(显示“您好,XXX”),点击添加日记转add.jsp(也显示“您好,XXX”)。 index.jsp中是用<html:from>标签填表单的。 发现有一个问题: 
从menu.jsp中“退出”转到index.jsp后,浏览器“后退”,menu.jsp仍然显示“您好,XXX”,“刷新”仍然显示“您好,XXX”。 
但如果从add.jsp中“退出”转到index.jsp后,浏览器“后退”,add.jsp显示“您好,XXX”,“刷新”后就会提示未登陆了。 请问是怎么回事?用于显示“您好,XXX”的姓名是保存在session范围内的bean当中的,跟index.jsp中的formbean(request范围中)不同。formbean在跳转menu.jsp时已经从request中清除了,bean在menu.jsp退出到index.jsp时已经从session中清除了。

解决方案 »

  1.   

    <html:form> 
    你遇到的问题 涉及到session安全了 做了表单的提交 当然你在后退的时候 浏览器会判断你可能 2次提交
      

  2.   

    一个浏览器就是一个session会话,虽然是后退,但是浏览器没关闭,
    session里面还保有信息,所以会产生第一个效果第二次你点了退出,我想代码肯定是session失效,效果和关闭浏览器是一样的
    所以出现了你说的第二种情况
      

  3.   

    给你个建议放 在request中,少占资源