关于Constans.USER_SESSION值的问题

关于Constans.USER_SESSION值的问题

  1. 视频中老师在Constans这个类中定义USER_SESSION="user_session"(这个常量是final类型的),在这里都已经赋值了,那为什么还可以把登录用户信息user存入USER_SESSION这个常量中?request.setAttribute(Constans.USER_SESSION,user)

  2. 老师把用户信息user存到request作用域中而不是session中,这样之后如果要用到登录用户信息user,岂不是每次都得user=request.getAttribute(Constans.USER_SESSION),还是说可以直接从user=Constans.USER_SESSION(因为已经变成常量了,所以可以直接使用,不必再去request作用域中取)

正在回答

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

1回答

1、这里不是把登录用户信息user存入USER_SESSION这个常量中,而是放在域中了,而去域中存放时的key值是这个常量值USER_SESSION。

2、这里老师确实是把用户信息user存到request作用域。user并没有变成常量Constans.USER_SESSION,这里只是把这个常量当做user存在域中的key值。这里是老师不小心写错了,应该改成request.getSession.setAttribute(Constans.USER_SESSION,user)。

已经反馈给相关人员后期加上字幕。非常感谢同学的纠正。继续加油

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

  • 慕粉2152056708 提问者 #1
    那我不明白USER_SESSION="user_session"这个语句在存user去作用域中这个过程里起到了什么优势(和以往的方式相比优势在哪),为什么要定义一个常量来作为存储用户信息user的名字,使用常量来保存的方式和以往我们随便取名字有什么优势request.getSession.setAttribute("user",user)
    2018-11-21 14:32:08
  • 好帮手慕阿莹 回复 提问者 慕粉2152056708 #2
    举个例子,比如可能很多地方都用到request.getSession.setAttribute("user",user) 或者request.getAttribute(“user”),如果因为业务需求或者什么其他原因,我们不想让他叫“user”了,想让它叫“user_session”,那么我们就要去代码中挨个找了,麻烦并且容易遗漏,我们给它取个常量,以后直接去改这个常量,就以下子都改了。 如果我的回答解决了你的疑惑,请采纳!祝学习愉快!
    2018-11-21 15:30:58
问题已解决,确定采纳
还有疑问,暂不采纳

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

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

0 星
SSM主流框架入门与综合项目实战2018版
  • 参与学习           人
  • 提交作业       205    份
  • 解答问题       4317    个

Java中非常实用的SSM整合开发内容,从Spring开始,到MyBaits的进阶内容,再到SpringMVC的应用,最后是SSM整合开发案例,逐步深入,助你成长为一名Java工程师!

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

在线咨询

领取优惠

免费试听

领取大纲

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