黑马程序员技术交流社区
标题:
java问题
[打印本页]
作者:
伍仪华
时间:
2011-7-29 18:15
标题:
java问题
Java中JavaBean的作用范围:request和page的区别是什么啊?
作者:
匿名
时间:
2011-7-31 10:10
JavaBean在Web编程中一直被当作模型层对象来使用,不存在作用范围的说法.
request内置对象是HttpServletRequest对象的一个实例,代表了一个客户端请求,当用户向服务器发送请求(不论是点击链接还是提交表单),哪怕该请求在服务器上被转发N次,都是一个请求,直到服务器最终发送相应为止,这都是该request对象的生命周期。
page内置对象是Object类的一个实例,它是处理当前请求的JSP页面实现类的实例。page对象在页面的正文中可以被比作是this关键字,它的作用范围仅限于当前page页面。实际开发过程中使用较少。
作者:
匿名
时间:
2011-7-31 10:41
[b]Java中JavaBean的作用范围有以下几种情况:[/b]
1.JavaBean在page作用域中:
在这种情况下,客户每次访问Jsp页面时,都会创建一个JavaBean对象,仅在当前Jsp页面中有效。
例子的结果:
count values is: 0
scope = page
此时JavaBean在将以下两种情况下结束生命周期
(1)当客户访问当前Jsp页面通过forword转发请求到另一文件时
(2) 当客户访问当前Jsp页面执行完毕并向客户端发回响应时
2.JavaBean在request作用域中:
与pgae一样,客户每次访问Jsp页面时,都会创建一个JavaBean对象。
例子的结果:
count values is: 0
scope = request
此时 , 当客户访问当前Jsp页面执行完毕并向客户端发回响应时 ,JavaBean结束生命周期
3 JavaBean在session作用域中:
JavaBean对象被创建后,一直存在于当前回话中,在同一会话中,共享同一JavaBean
例子结果:
count values is: 0
( 每刷新一次,增长1,当打开另一浏览器窗口重新发出请求时,就不在同一会话中了,将创建一个新的会话,从0开始重新增长。 )
scope = session
4.JavaBean在application作用域中
JavaBean对象被创建后,一直存在于当前Web应用程序的生命周期中,在此应用程序中,共享同一JavaBean
例子结果:
count values is: 0
( 每刷新一次,增长1,当打开另一浏览器窗口重新发出请求时,此时还在同一Web应用程序中了,从原有基础上增长。 )
scope = application
[b]request和page的区别[/b]
request是一次请求的全部过程,而page只是当前页面。当从一个页重定向到另一个页时就不存在了
appliction> session> request> page
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2