案例效果:

介绍↑:进入主页,分别看到“登录页面”和“首页"。


介绍↑:点击进入“登录页面”后输入“用户名和密码”点击提交就可以跳转到首页。


介绍↑:已跳转到首页


介绍↑:回到“主页”,点击“首页”。


介绍↑:进入首页。这里是本项目的关键:用户刚刚已经登录,那么他可以直接进入首页


介绍↑:点击上一张图中的“注销账户”之后,自动跳转到“登录页面”。


介绍↑:手动回到“主页”。


介绍↑:点击首页,进入了登录页面。这里也是本项目的关键点:用户注销之后不能再进入首页,他要先登录,才能再次进入。

案例分析:

本案例中实现了如果用户已经登录那么直接让用户免登录进入页面,如果用户没有登陆,那么先让用户登录。

实现过程

工具/原料:

过程:

浏览器是用来拦截请求的,有的请求可以通过拦截器访问到Controller,有的则无法通过拦截器,被阻挡到拦截器外无法访问Controller。

请求能不能通过拦截器具体看拦截器的代码。在拦截器里面有一个重要的参数是true/false。

如何判断用户是否处于登陆状态?

用户第一次登陆的时候,请求发给controller,拦截器中途拦截到该请求,拦截器得知该请求指向登陆页面,估给请求放行。请求被放行后访问到controller,然后在controller的代码里面生成了一个session,用户登录成功。当用户再次访问网页的时候,用户给controller发送请求一串代码,拦截器拦截了该请求,根据改代码查找有没有一个对应的session,有的话拦截器给请求放行,没有的话就说明用户还没有登陆,拦截器将其拦截。

PS:该项目中用户没有给controller发送一串代码,该项目只是用了一个极其简单的手法让请求通过。一般来说浏览器第一次访问服务器服务器会生成一个cookie和session,然后服务器将cookie发送到浏览器。浏览器第二次访问服务器时,浏览器自动向服务器发送一个cookie,然后拦截器获取该cookie来与session比对。

总结:掌握了拦截器的用法,但对服务器和浏览器之间的验证依然比较陌生。

Github下载地址:https://github.com/zjjackyyue/SSM-01-SimpleSSM.git

session 拦截器中获取不到session值_拦截器实现登陆验证相关推荐

  1. java 拦截器响应中取所有参数,spring boot拦截器中获取request post请求中的参数

    最近有一个需要从拦截器中获取post请求的参数的需求,这里记录一下处理过程中出现的问题. 首先想到的就是request.getParameter(String )方法,但是这个方法只能在get请求中取 ...

  2. 拦截器获取请求参数post_spring boot拦截器中获取request post请求中的参数

    最近有一个需要从拦截器中获取post请求的参数的需求,这里记录一下处理过程中出现的问题. 首先想到的就是request.getParameter(String )方法,但是这个方法只能在get请求中取 ...

  3. 自动装配——@Autowired 构造器,参数,方法,属性都是从容器中获取参数组件的值||自定义组件想要使用Spring容器底层的一些组件 ApplicationContext,BeanFactory

    @Autowired:构造器,参数,方法,属性:都是从容器中获取参数组件的值 * 1).[标注在方法位置]:@Bean+方法参数:参数从容器中获取;默认不写@Autowired效果是一样的:都能自动装 ...

  4. asp.net mvc 如何在View中获取Url参数的值

    如果url是 /home/index?id=3 直接Request就ok. 但是如果路由设定为:{controller}/{action}/{id} url是 /home/index/3    这时想 ...

  5. map中获取数组_如何从php多维数组中获取特定的键值?

    点击蓝字关注我们!每天获取最新的编程小知识! 源 / php中文网      源 / www.php.cn 在这篇文章中,我们将给大家介绍如何在php中从多维数组中获取特定的键值数组.这里我们将使用a ...

  6. es6 获取对象的所有值_前端开发必备 - ES6 新特性之 Set和Map数据结构

    往期回顾: 前端开发必备 - ES6 新特性之 let 和 const 命令 前端开发必备 - ES6 新特性之 变量的解构赋值 前端开发必备 - ES6 新特性之 字符串的拓展 前端开发必备 - E ...

  7. springboot配置拦截器,在拦截器中获取@RequestBody注解参数和post请求参数以及get请求参数

    1.配置拦截器 package com.jy.gxw.config.interceptor;import org.springframework.beans.factory.annotation.Au ...

  8. strus2拦截器中获取客户端ip

    strus2获取客户端ip,ip需根据request对象获取 因需要在拦截器中不知道如何获取ip,故做以下记录: ActionContext ctx = ActionContext.getContex ...

  9. springboot项目拦截器中获取接口返回数据_Spring Boot自定义Annotation实现接口自动幂...

    在实际的开发项目中,一个对外暴露的接口往往会面临很多次请求,我们来解释一下幂等的概念:任意多次执行所产生的影响均与一次执行的影响相同.按照这个含义,最终的含义就是 对数据库的影响只能是一次性的,不能重 ...

最新文章

  1. 剑指offer:数组中重复的数字
  2. angular环境搭建
  3. java在线学习系统源码_Java在线考试系统源码
  4. 从几个sample来学习Java堆,方法区,Java栈和本地方法栈
  5. 今日arXiv精选 | Survey/ICCV/ACM MM/ICML/CIKM/SIGIR/RecSys/IROS
  6. Mahout系列之----共轭梯度预处理
  7. redis3.0.7_sds.c_sdsnewlen()
  8. WinCE系统的编译过程详解
  9. vue.config.js 配置参考
  10. python企业级框架_Python六大开源框架对比:Web2py略胜一筹(转)
  11. ORA-01034: ORACLE not available
  12. canvas 两个圆相交重叠区域颜色填充_「译」Canvas中的环绕规则 -Winding rules in Canvas...
  13. 输入网址按回车,到底发生了什么?
  14. 初次远程做Linux Iptables规则注意事项
  15. 3804. 构造字符串-AcWing题库
  16. FileUtils工具类学习
  17. 配置管理的目标和主要活动
  18. 域名注册查询API接口工具
  19. 计蒜客 蒜头君的积木
  20. android ios 微信 备份通讯录备份通讯录,苹果手机号码怎么备份 微信导入联系人号码...

热门文章

  1. Java-面向对象(基础知识)
  2. 2017-2018-1 20155201 20155313 实验一 开发环境的熟悉
  3. java--方法重写与重载
  4. CCF201709-5 除法(100分)【树状数组+线段树】
  5. UVA12657 Boxes in a Line【模拟】
  6. NUC1013 阶乘结果末尾有多少零【分析思维】
  7. NUC1333 Knight Moves【DFS】
  8. numpy tricks(二)—— 删除多维数组的行或列
  9. matlab 图像分块及恢复
  10. 从多路搜索树到 B-树