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的区别是啥啊?的主要内容,如果未能解决你的问题,请参考以下文章