关于这串代码?

关于这串代码?

List<Message> messages = (List<Message>)session.getAttribute("messages");

if(messages == null){

messages = new ArrayList<Message>();

session.setAttribute("messages", messages);

}

messages.add(message);//留言列表信息存储至session中

response.sendRedirect(request.getContextPath()+"/message.jsp?subFlag=1");//重定向至留言板页面


老师,List<Message> messages = (List<Message>)session.getAttribute("messages");

是将存入session中的集合对象messages取出来?

通过session.setAttribute("messages", messages);}已经将集合对象存入了session中,

messages.add(message);是将Message对象放入集合对象messages中?但是之后不需要再重新存入session中?

正在回答 回答被采纳积分+1

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

1回答
提问者 精慕门618366 2019-09-26 23:05:21

老师,就是第二次回去留言信息的时候,List<Message> messages =(List<Message>)session.getAttribute("messages");又把集合对象取了出来,然后不会走if那个方法,直接将新的Message对象存入了集合对象中,但是之后不应该使用setAttribute放回session中?

  • 同学你好,由于这个messages 对象放在了session中,并且session中存储的是对象的引用。每次我们使用时都去session中进行获取,所以一直使用的相当于是一个对象。session只要在生命周期之内,是可以跨页面共享的。所以最后可以不用再使用setAttribute将这个对象的引用放回session中啦。如果我的回答解决了你的疑惑,请采纳。祝:学习愉快~
    2019-09-27 10:41:30
问题已解决,确定采纳
还有疑问,暂不采纳

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

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

0 星
从网页搭建入门Java Web2018版
  • 参与学习           人
  • 提交作业       1088    份
  • 解答问题       10204    个

如果你有Java语言基础,又想以后从事Java Web开发,那么本路径是你的不二选择!本路径从网页搭建开始入手,通过大量案例来学习Java Web基础。定能助你完成Java Web小白的蜕变!

了解课程
请稍等 ...
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号

在线咨询

领取优惠

免费试听

领取大纲

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