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

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

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

  • 9
    点赞
  • 23
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
要将评论表里的内容显示JSP前端页面,可以采用以下步骤: 1. 在JSP页面中添加一个表格或列表,用于显示评论内容。 2. 在后台Java代码中,编写方法来获取评论表中的数据。 3. 在Java代码中,使用JDBC连接数据库,执行SQL查询语句获取评论表中的数据,并将数据存储到一个List对象中。 4. 在Java代码中,将List对象传递给JSP页面,可以使用request.setAttribute()方法。 5. 在JSP页面中使用JSTL标签库来遍历List对象,将数据显示前端页面上。 以下是一个简单的示例代码,假设评论表的表名为comment,表中有id、username、content和time等字段: Java代码: ``` //获取评论表中的数据 public List<Comment> getCommentList() { List<Comment> commentList = new ArrayList<Comment>(); try { //连接数据库 Connection conn = DBUtil.getConnection(); String sql = "select * from comment"; PreparedStatement pstmt = conn.prepareStatement(sql); ResultSet rs = pstmt.executeQuery(); //遍历结果集,将数据存储到List对象中 while (rs.next()) { Comment comment = new Comment(); comment.setId(rs.getInt("id")); comment.setUsername(rs.getString("username")); comment.setContent(rs.getString("content")); comment.setTime(rs.getTimestamp("time")); commentList.add(comment); } //关闭连接 rs.close(); pstmt.close(); conn.close(); } catch (SQLException e) { e.printStackTrace(); } return commentList; } //将List对象传递给JSP页面 List<Comment> commentList = getCommentList(); request.setAttribute("commentList", commentList); ``` JSP页面代码: ``` <!--在JSP页面中使用JSTL标签库遍历List对象--> <c:forEach items="${commentList}" var="comment"> <tr> <td>${comment.username}</td> <td>${comment.content}</td> <td>${comment.time}</td> </tr> </c:forEach> ``` 在上述代码中,首先在Java代码中通过JDBC连接数据库并获取评论表中的数据,然后将数据存储到一个List对象中,并通过request.setAttribute()方法传递给JSP页面。在JSP页面中,使用JSTL标签库遍历List对象,将评论内容显示前端页面上。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值