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");%>
    

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

  • 相关阅读:
    [DDCTF 2019]homebrew event loop
    [极客大挑战 2019]FinalSQL
    $[HAOI2008]$硬币购物
    $2018/8/19 = Day5$学习笔记 + 杂题整理
    $2018/8/16 = Day2$学习笔记$+$杂题整理
    [NOIp2009] $Hankson$の趣味题
    2018清北学堂夏日培训游记
    2.数组的声明和创建
    1.什么是数组?
    15.递归
  • 原文地址:https://www.cnblogs.com/windowsxpxp/p/12190343.html
Copyright © 2011-2022 走看看