1 用户登录,是否注册用户,在登录处理页面进行用户验证,创建session保存用户名和密码

2否,进入用户注册页面

3是,系统保存该用户的登录信息

4进入要访问的页面

5用户直接访问某个页面,

6系统是否保存了该用户的登录信息,从session中提取用户信息,如果用户信息存在,则可以进行操作,

7否,进入用户登录页面

8是,显示该页面内容。

登录处理页面

if (dao.hasUser(name)) {

if (dao.isLegalUser(name, password)) {
                request.setAttribute("name", name);
                HttpSession session = request.getSession(true);
                session.setAttribute("name", name);
                //设置seseion过期时间,默认为秒
                session.setMaxInactiveInterval(10*60);
                
                System.out.println("sessionid:"+session.getId());
                request.getRequestDispatcher("/jsp/bolg2.jsp").forward(request, response);
            } else {
                request.setAttribute("msg", "密码错误,请重新输入!");
                request.getRequestDispatcher("login.jsp").forward(request, response);
            }

} else {
            // 用户不存在
            response.sendRedirect("index.jsp");
        }
    }

过滤器

//sesssion对象提取登录信息,用户名

String name=(String) req.getSession().getAttribute("name");
       // if(!"/isud/src/main/webapp/login.jsp".equals(targetURL)){
            //判断当前页面是否是的登陆页面,如果是就不做session的判断,防止死循环
            if(name==null){
                //如果session为空表示用户没有登陆就重定向到login.jsp页面

System.out.println("没有登陆,请先登陆!");  
                System.out.println("request.getContextPath()=" + req.getContextPath());  
                res.sendRedirect(req.getContextPath()+"/login.jsp");
            }else {
                //继续向下执行
                chain.doFilter(request, response);
            }

session会话管理,与过滤器使用,访问控制的更多相关文章

  1. session会话管理

    session会话和cookie一起被称为会话跟踪技术,主要通过保存在服务器端的session数据和客户端浏览器的cookie数据共同完成用户访问服务器的足迹记录. 1. 什么是会话 会话sessio ...

  2. .net用SQL Server进行session会话管理

    保存在内存中的session经常由于dll的变动导致丢失.有一种方法可以长期保存session,那就是session的SqlServer模式. ASP.NET允许将会话数据存储到一个数据库服务器中,方 ...

  3. 第二章 Session会话管理

    采用网址重写的缺点: 在有些Web浏览器中,URL限制为2000个字符. 仅当有链接要插入值时,值才能转换成后面的资源.此外,要把值添加到静态页面的链接中,可不是一件容易的事情. 网址重写必须在服务器 ...

  4. JavaWeb中Session会话管理,理解Http无状态处理机制

    注:图片如果损坏,点击文章链接:https://www.toutiao.com/i6512955067434271246/ 1.<Servlet简单实现开发部署过程> 2.<Serv ...

  5. 4.会话管理(Session)

    1.会话管理的概念和基本原理: 会话管理概念: 会话的实现过程: 2.使用Cookie.隐藏域.URL重写实现会话管理 创建并向客户端发送Cookie; 从客户端读取Cookies Cookie的方法 ...

  6. 分布式Tomcat session会话Sticky Sessions问题

    分布式session会话Sticky Sessions - tomcat_baby的专栏 - CSDN博客https://blog.csdn.net/tomcat_baby/article/detai ...

  7. JavaWeb中Cookie会话管理,理解Http无状态处理机制

    注:图片如果损坏,点击文章链接:https://www.toutiao.com/i6512995108961387015/ 1.<Servlet简单实现开发部署过程> 2.<Serv ...

  8. 状态管理之cookie使用及其限制、session会话

    # 1.什么是状态管理? 将浏览器与web服务器之间多次交互当作一个整体来处理,并且将多次交互所涉及的数据(即状态)保存下来.(cookie浏览器所涉及到的访问数据保存下来)# 2.如何进行状态管理? ...

  9. java的会话管理:Cookie和Session

    java的会话管理:Cookie和Session 1.什么是会话 此处的是指客户端(浏览器)和服务端之间的数据传输.例如用户登录,购物车等 会话管理就是管理浏览器客户端和服务端之间会话过程产生的会话数 ...

随机推荐

  1. windows 安装操作系统时切换分区表格式

    在出现分区管理界面时,按下shift+F10呼出命令行,输入diskpart 后尝试如下命令将磁盘分区表手动转换到MBR. list disk ---- 显示当前磁盘列表 select disk x ...

  2. MapReduce – 基本思路之推荐引擎

    理解MapReduce关键两个步骤: 首先是构想出结构的数据结构,这种数据结构可以支撑你的业务分析使用:是要理解这种模式的处理元素. 第二步,分析原始数据的结构是怎样的: 第三步,基于原始数据结构以及 ...

  3. php中二维数组排序问题方法详解

    PHP中二维数组排序,可以使用PHP内置函数uasort() 示例一: 使用用户自定义的比较函数对数组中的值进行排序并保持索引关联 回调函数如下:注意回调函数的返回值是负数或者是false的时候,表示 ...

  4. DBA的规范

    DBA操作规范 1.涉及业务上的修改/删除数据,在得到业务方.CTO的邮件批准后方可执行,执行前提前做好备份,必要时可逆.   2.所有上线需求必须走工单系统,口头通知视为无效.   3.在对大表做表 ...

  5. PHP $_SERVER 祥细解读(有事例)

    为了看的更明白,添加上了事例 例如  'www.ceshiyuming.com/ceshi.php?p=123';Array(    [HOSTNAME] =>     [PATH] => ...

  6. 杂项:node.js

    ylbtech-杂项:node.js Node.js是一个Javascript运行环境(runtime),发布于2009年5月,由Ryan Dahl开发,实质是对Chrome V8引擎进行了封装.No ...

  7. autopy的使用探索

    autopy这个包可以直接操作电脑的一些行为,比如点击,移动鼠标啥的,但是可能只使用于windows,用处有限,不过做个简单的游戏辅助还是可以的. 网上资料贼少,很多不能用的,现总结一些可以用的放在这 ...

  8. 过度使用DBLINK做系统集成会带来的问题

    过度使用DBLINK做系统集成会带来很多问题,问题主要由以下几点: 1. 大量消耗数据库资源: 本地系统每通过DBLINK链接远端系统一次,都会生成一个本地session,如本地session不退出或 ...

  9. 廖雪峰Java1-2Java程序基础-2变量和数据类型

    1.变量 变量是可以持有某个基本类型的数值,或者指向某个对象. 变量必须先定义后使用 定义: 变量类型 变量名 = 初始值; 2.java基本数据类型 整数类型:long int short byte ...

  10. Logistic回归的两种形式y=0/1,y=+1/-1

    第一种形式:y=0/1 第二种形式:y=+1/-1 第一种形式的损失函数可由极大似然估计推出: 第二种形式的损失函数:  , 参考:https://en.wikipedia.org/wiki/Loss ...