JAVA后台 关于如何从后台传递信息在jsp前端页面显示

java后台开发 专栏收录该内容
16 篇文章 0 订阅

JAVA后台 关于如何从后台传递信息在jsp前端页面显示

首先,博主今天为了将后台的信息传递到前台,废了不少的脑筋,一开始,博主采用了request.setAttribute()的方法,来实现的,具体代码如下:

在servlet中,写上:
request.setAttribute(“name”, loginUser.getAccount());//这里的意思可以理解为将loginUser.getAccount()的值放入名为“name”的容器里

在jsp页面中,写上:
欢迎您,${name}//意思是将name中的数据显示出来,也就是后台传递的内容。

结果截图:
这里写图片描述

哈哈哈,博主一看,信息传过去了,内心窃喜,搞定!!!

然而,当博主为了万(wan)全(quan)起(shou)见(jian),刷新了一下页面,发现,从后台传递到jsp的值不见了!!!卧槽,博主内心一阵mmp。
这是怎么回事???
当博主重新打开网页,重新输入信息,值又回来了,但一刷新页面,值又不见了。因此,博主猜想可能是因为request.setAttribute()的生命周期是不是太短了,导致不能一直显示下去。

所以当博主把后台代码改成:
request.getSession().setAttribute(“name”, loginUser.getAccount());

重新运行了程序,正常显示,刷新,正常显示,因此,问题解决!

这里说一下关于request.getsession().setAttribute()request.setAttribute的区别 :
request.getSession().setAttribute(“name”,loginUser.getAccount())把,loginUser.getAccount()返回值保存到session当前会话中,名称为name,只要当前会话不过期,任何地方都可以访问到; request.setAttribute(“name”,loginUser.getAccount())把,loginUser.getAccount()的返回值保存到request当前请求中,名称为name,只在当前请求中访问到,其他请求中无法访问
request.setAttribute这个的生命周期就是request级别的
request.getSession().setAttribute这个的生命周期是session级别的

因此,如果小伙伴们是为了传递短时间的信息,如:用户登录界面中的信息报错,可以用声明周期较短的request.setAttribute
而为了使信息可以保存更久的时候,则应该用request.getSession().setAttribute

谢谢大佬们观看,如有不同观点或更好的观点,请及时提出,小弟虚心请教。

  • 8
    点赞
  • 2
    评论
  • 13
    收藏
  • 一键三连
    一键三连
  • 扫一扫,分享海报

©️2021 CSDN 皮肤主题: 大白 设计师:CSDN官方博客 返回首页
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值