获取cookie的问题

获取cookie的问题

login中并没有采用请求转发,那么index的request照理来说应该和login的不一样,那他怎么会获得login中的cookie呢

正在回答

登陆购买课程后可参与讨论,去登陆

3回答

同学你好,1. 转发请求是为了跳转页面。

2. 在创建session时,使用的getSession(boolean create)意思是返回当前reqeust中的HttpSession ,如果当前reqeust中的HttpSession 为null,当create为true,就创建一个新的Session,否则返回null。

3. getSession()得到HttpSession类型的对象,通常称之为session对象。session对象的作用域为一次会话,通常浏览器不关闭,保存的值就不会消失,当然也可以设置session的有效时间。所以session是通过session对象获取的内容。

如果我的回答解决了你的疑惑,请采纳,祝学习愉快~

好帮手慕小尤 2020-07-11 15:52:34

同学你好,1. session是安全的在服务器端共享信息存在的,当使用setAttribute存入属性与内容后,可以在另一个servlet中可以直接通过session获取这个属性与内容。

2. 不过3-3课程中,经历过重定向的两个页面,它们的request和response是不同的。那么我们想要在两个页面中获取之前的Attribute就不能通过request了。

3. session可以设置生存时间,在一段时间内,不受转发和重定向的影响。只要在一个会话中,就可以获取其中保存的数据,不用担心丢失问题。

如果我的回答解决了你的疑惑,请采纳!祝学习愉快!

  • 提问者 慕UI2433440 #1
    既然不用转发和重定向,那为啥老师还要在里面写转发请求的代码,如果不写的话,那怎么获得session对象呢
    2020-07-11 16:08:44
好帮手慕小尤 2020-07-11 14:35:25

同学你好,1. 在login的servlet是向浏览器中写入cookie的。在indexServlet 也是从浏览器中获取cookie的。

2. 如果当我们到request.setAttribute("" , "");的时候才需要通过转发来传递request,因为request的生命周期是只有一次请求,如果不传递,就会消失,而其他的session和ServletContext,以及cookie都不是通过转发来传递数据的。

如果我的回答解决了你的疑惑,请采纳,祝学习愉快~

  • 提问者 慕UI2433440 #1
    老师的session不就是用的set.Attribute()来设置的属性吗,这样的话不就要通过转发了吗
    2020-07-11 14:54:53
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星

相似问题

登录后可查看更多问答,登录/注册

请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师