zoukankan      html  css  js  c++  java
  • Session注销后,浏览器后退仍显示Session信息

    初学JavaWeb,在一次测试登录功能的时候,发现了登进去后,点击退出按钮注销session,浏览器按后退能够显示session信息,并且点击登录还能够不输入密码登录(前端页面没写JS限制输入后登录)。

    1、限制页面访问条件,先判空,当session为空或者session内属性为空的时候,跳转页面

    // 获取Session中的对象
    HttpSession session = request.getSession();
    User user = (User) session.getAttribute("session_user");
    // 判断用户是否登陆
    // 代码中userName的属性存储着表的主键,故对存储主键的属性进行判空
    if (user==null || user.getUserName()==null || user.getUserName()=="" || user.getName().length()==0) {
    	// 用户未登录,重定向到登录页面
    	response.sendRedirect("./login.jsp");
    } else {
    	// 写具体业务逻辑
    }
    

    2、禁用浏览器缓存

    将这些代码放入有session信息的Servlet

    // 禁用浏览器缓存
    response.setDateHeader("Expires", 0);
    response.setHeader("Cache-Control", "no-cache");
    response.setHeader("Pragma", "no-cache");
    

    或者放在jsp页面的顶部

    <%response.setDateHeader("Expires", 0);%>
    <%response.setHeader("Cache-Control", "no-cache");%>
    <%response.setHeader("Pragma", "no-cache");%>
    

    这样点击后退后,会根据重定向进行跳转到登录页面

  • 相关阅读:
    JDK 动态代理分析
    java class 文件解析
    ARM体系结构和汇编指令
    待整理
    Nand Flash,Nor Flash,CFI Flash,SPI Flash 之间的关系
    CPU与内存的那些事
    关于DMA和它的仇家
    BSS段 data段 text段 堆heap 和 栈stack
    关于常用序号的几点说明(数字序号顺序)
    word表格自动编号,前面加章节号
  • 原文地址:https://www.cnblogs.com/windowsxpxp/p/12190343.html
Copyright © 2011-2022 走看看