一:问题的引出
我在设置拦截器的时候,将登录信息存在了request作用域当中,我设置登录页面的时候是放行
的登录页面的请求的,同时将登录信息是设置在request的作用域中的,可是进入主页面后,我再进入其他页面的时候,又跳到登陆页面了;那么这个拦截器是拦截一切的请求,而我们存在request中的数据已经没了,所以当我们发送新的请求的时候就会被拦截住
二:二者的区别
- request.setAttribute(“curruser”,curruser)这个方法是将curruser这个对象保存在request作用域中,然后在转发进入的页面就可以获取到你的值
- session.setAttribute(“curruser”,curruser)。这个方法和上面唯一的区别就是作用域,就是在你整个程序启动的时候,如果在session中保存了数据,那么在你这个无论你在哪个页面,在什么时候都可以获取到这个值,全局的,只要你的这个程序是启动的。session默认的过期时间是30分钟,过期无效,可以去修改这个值。
- request的生命周期是request请求域,一个请求结束,则request结束
- session的生命周期是session会话域,打开一个浏览器请求一个网站的页面后Session开始,当session超过时间限制后,session注销而失效