一:问题的引出

我在设置拦截器的时候,将登录信息存在了request作用域当中,我设置登录页面的时候是放行
的登录页面的请求的,同时将登录信息是设置在request的作用域中的,可是进入主页面后,我再进入其他页面的时候,又跳到登陆页面了;那么这个拦截器是拦截一切的请求,而我们存在request中的数据已经没了,所以当我们发送新的请求的时候就会被拦截住

二:二者的区别

  • request.setAttribute(“curruser”,curruser)这个方法是将curruser这个对象保存在request作用域中,然后在转发进入的页面就可以获取到你的值
  • session.setAttribute(“curruser”,curruser)。这个方法和上面唯一的区别就是作用域,就是在你整个程序启动的时候,如果在session中保存了数据,那么在你这个无论你在哪个页面,在什么时候都可以获取到这个值,全局的,只要你的这个程序是启动的。session默认的过期时间是30分钟,过期无效,可以去修改这个值。
  • request的生命周期是request请求域,一个请求结束,则request结束
  • session的生命周期是session会话域,打开一个浏览器请求一个网站的页面后Session开始,当session超过时间限制后,session注销而失效

session.setAttribute和request.setAttribute的区别相关推荐

  1. 避坑——request.getSession().setAttribute与request.setAttribute的区别

    刚开始不理解这个区别,导致每次前台取到的验证码总是有差别:坑---所以也记录下 equest.setattrbute()顾名思义只能在一个request内有效,如果重定向回客户端,将取不到值.requ ...

  2. request.getSession.setAttribute和request.setAttribute区别

    [方法1]request.getSession.setAttribute [方法2]request.setAttribute 相信很多初学的小伙伴对方法1和方法2,也充满了疑问,因为他们俩的作用都是把 ...

  3. request.getSession().setAttribute()和 request.setAttribute()

    今天在写代码被session值给郁闷了很久,一直想让adminid这个值在jsp页面全程都可以用,但由于我一直用request.setAttribute(),所以一直没有解决,害得我为了得到这个值费了 ...

  4. 后台通过request.setAttribute向前台传值,前台如何去获取其中的对象或属性值

    讲这些,我们先来了解一下request.setAttribute和request.setAttribute()这两种方法的作用. request.getAttribute("nameOfOb ...

  5. request.setAttribute()

    讲这些,我们先来了解一下request.setAttribute和request.setAttribute()这两种方法的作用. request.getAttribute("nameOfOb ...

  6. 总结:request.setAttribute()、session.setAttribute()和request.getParameter()的联系与区别

    1.session.setAttribute()和session.getAttribute()配对使用,作用域是整个会话期间,在所有的页面都使用这些数据的时候使用. 2.request.setAttr ...

  7. java跟setattribute,java 中的request.setAttribute和session.setAttribute的区别

    1,request.setAttribute("curruser", curruser)这个方法是将curruser这个对象保存在request作用域中,然后在转发进入的页面就可以 ...

  8. JavaWeb:request.setAttribute()和session.setAttribute()的区别

    在编写javaweb中的servlet层程序时,为了实现前后端的交互,我们通常会使用request.setAttribute()和session.setAttribute()保存一些信息,用于其他页面 ...

  9. request.getParameter()与request.setAttribute()的区别

    request.getParameter(),request.setAttribute()区别如下: (1)request.getParameter()取得是通过容器的实现来取得通过类似post,ge ...

最新文章

  1. STM32按键控制led四种方法
  2. mysql 密码 You must reset your password using ALTER USER statement before executing this statement....
  3. asp.net c# 打开新页面或页面跳转
  4. 如何在JSP里自定义标签
  5. -Block和JSON
  6. 3-6:常见任务和主要工具之正则表达式
  7. C语言方向键识别和字母识别,c语言中怎样输入和读取方向键
  8. 未与信任 SQL Server 连接相关联
  9. 英特尔成立集成光电研究中心 加速光互连I/O创新
  10. IOCP线程池的开发-(2)
  11. 【STC单片机】STC15串口收发示例程序模板
  12. 《麻省理工学院公开课:人工智能》笔记二
  13. sqlserver中的常见函数用法
  14. 计算机如何更改后缀文件名,如何批量修改文件后缀名(任何文件的扩展名)?
  15. ZigBee的发展也有“碎片化”zigbee模块
  16. 数据分析: 带你一览特朗普总统的“微博”世界 (上)
  17. 什么是哈希冲突,怎么解决哈希冲突的问题?
  18. 自动发送寄件通知教程
  19. 关注星辰大海的腾讯和热爱天文的马化腾
  20. WinDbg 命令三部曲:(三)WinDbg SOSEX 扩展命令手册

热门文章

  1. 程序员求职面试三部曲之一:选择合适的工作单位
  2. Python FastApi:post文件与数据/本地端测试
  3. Mysql实现主从复制(一主双从)
  4. Js 枚举定义Layer Icon
  5. 南方方洲号无人测量船系统简介
  6. C和指针之数组编程练习5 (矩阵相乘)
  7. 用递归实现字符数组的反转
  8. linux nginx线程池,nginx使用线程池提升9倍性能
  9. python数据结构教程_利用Python演示数型数据结构的教程
  10. php输出二维数组中指定内容,HP将MYSQL内容读到二维数组并按指定列输出