Java中JavaBean的作用范围:request和page的区别是啥啊?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java中JavaBean的作用范围:request和page的区别是啥啊?相关的知识,希望对你有一定的参考价值。

JavaBean在WEB编程中一直被当作模型层对象来使用,不存在作用范围的说法,它是MVC模式的M,使用JavaBean存放数据可以有效的避免频繁的将数据存入或取出某个作用范围。

例如:当我们需要将用户的注册信息通过请求转发传递到新的页面,如果不使用JavaBean我们就得频繁的将用户属性保存到request对象中,在下一个页面又需要一个一个从request对象中取出,这样做相当麻烦,使用JavaBean将用户属性全部封装在一个User对象中我们就可以只存取request对象一次就可以了。

JavaBean早期出现在Java的图形界面编程中(Swing),这也是Java最早开始使用MVC模式,在图形界面Swing编程中的JavaBean有四大属性(根据需要,不必同时存在),而现在WEB编程中我们只需要考虑其中的Simple属性和Index属性就可以了。

page内置对象是Object类的一个实例,它是处理当前请求的JSP页面实现类的实例。page对象在页面的正文中可以被比作是this关键字,它的作用范围仅限于当前page页面。实际开发过程中使用较少。

request内置对象是HttpServletRequest对象的一个实例,代表了一个客户端请求,当用户向服务器发送请求(不论是点击链接还是提交表单),哪怕该请求在服务器上被转发N次,都是一个请求,直到服务器最终发送相应为止,这都是该request对象的生命周期。

例如:在JSP + Servlet + JavaBean的开发中,经常使用Servlet接收请求,将数据保存到JavaBean中,然后将JavaBean保存到request对象,再通过请求转发到负责显示的JSP页面,最终通过标签将JavaBean中保存的数据显示在JSP页面内。
参考技术A page:只作用于当前页面
request:作用于请求间
request的生命周期比page的生命周期长.
参考技术B javabean要根据具体情况而定!
request:相互请求的页面之间
page:只作用于当前页面 没有request时间长!

javabean四个作用于的范围下

request范围要使用request对象跳转页面来保证这是同一次会话

技术分享

技术分享内部跳转就获取了用户名了

最后一个page范围

pege是只在当前页面有效,如果离开了当前页面的话是无论如何都获取不到的 

如果要测试page对象的话使用原来的代码会出现空值错误

要加上这一段

技术分享

打开网页技术分享page范围是获取不到用户属性的

 

以上是关于Java中JavaBean的作用范围:request和page的区别是啥啊?的主要内容,如果未能解决你的问题,请参考以下文章

javabean四个作用于的范围

java jsf 如何去重新加载bean

request作用域范围是啥

javabean四个作用于的范围下

jsp动作标签

JSP的范围(作用域)