四个作用范围
javabean的四个作用域范围:
一个比较重要知识点
Javabean的四个作用域范围
说明:使用useBeans的scope属性可以用来指定javabean的作用范围。
●page //仅在当前页面有效
●request //可以通过HttpRequest.getAttribute()方法取得JavaBean对象。
●session //可以通过HttpSession.getAttribute()方法取得JavaBean对象。
●applicatoin //可以通过application.getAttribute()方法取得Javabean对象
Javabean作用域范围
Javabean的四个作用域范围:
(1)page:仅在当前页面有效
(2)request:可以通过HttpRequest.getAttribute()方法获得JavaBean对象
(3)session:可以通过HttpSession.getAttribute()方法获得JavaBean对象
(4)application:可以通过application.getAttribute()方法获得JavaBean对象
Javabean的四个作用域范围
说明:使用useBeans的scope属性可以用来指定javabean的作用范围。
page //仅当前页面有效
request //可以通过HttpRequest.getAttribute()方法取得JavaBean对象。
session //可以通过HttpSession.getAttribute()方法取得JavaBean对象。
application //可以通过application.getAttribute()方法取得Javabean对象
Javabean的四个作用域范围
说明:使用useBeans的scope属性可以用来指定javabean的作用范围。
page //仅当前页面有效
request //可以通过HttpRequest.getAttribute()方法取得JavaBean对象。
session //可以通过HttpSession.getAttribute()方法取得JavaBean对象。
application //可以通过application.getAttribute()方法取得Javabean对象
javabean 四个作用域范围
Javabean的四个作用域范围:在useBeans的scope属性中指定作用范围
总结:Scope的四个作用域范围
application 代表全局的,在服务器打开到关闭之间的任何时候都可以获取到属性
session 代表一次会话,在一次会话期间,可以获取到相关的属性
request 表示请求,需要使用服务器转发功能(request.getRequestDispatcher)后正常获取属性
page 代表当前范围,使用重定向或服务器转发都无法获取属性
Javabean——四个作用域范围
说明:使用useBeans的scope属性可以用来指定Javabean的作用范围
page //仅在当前页面有效
request //可以通过HttpRequest.getAttribute()方法取得Javabean对象
session //可以通过HttpSession.getAttribute()方法取得Javabean对象
application //可以通过application.getAttribute()方法取得Javabean对象
Javabean——四个作用域范围
说明:使用useBeans的scope属性可以用来指定Javabean的作用范围
page //仅在当前页面有效
request //可以通过HttpRequest.getAttribute()方法取得Javabean对象
session //可以通过HttpSession.getAttribute()方法取得Javabean对象
application //可以通过application.getAttribute()方法取得Javabean对象
Javabean——四个作用域范围
说明:使用useBeans的scope属性可以用来指定Javabean的作用范围
page //仅在当前页面有效
request //可以通过HttpRequest.getAttribute()方法取得Javabean对象
session //可以通过HttpSession.getAttribute()方法取得Javabean对象
application //可以通过application.getAttribute()方法取得Javabean对象
5-8
问题:dologin.jsp和testScope.jsp中都要用usebean语句吗?这个语句到底是创建还是获取bean?--测试一下。
5-8 用application.getAttribute()时,为什么要用类强制转换?
javaBean的四个作用范围:
page:只在当前页面有效
request:在同一个请求有效(转发时算同一个请求,重定向是新的请求
session:同一个会话中,通过session.getAttribute()获取
application:同一个服务器中
javabean的四个作用域范围
说明:使用速尔Beans的scope属性可以用来指定javabean的作用范围
page:进当前页面
request:可以通过HTTPRequest.getAttribute()方获取javabean对象
session:可以通过HttpSession.getAttribute()方法获取javabean对象
application:可以通过application.getAttribute方法获取javabean对象
JavaBean的四个作用域范围
Javabean的四个作用域范围
既可以用指定scope的useBean标签来使用javabean对象,也可以使用对应的内置对象(application、session、request、page)获取javabean对象
avaBean的生命周期存在于4种范围之中,分别为page、request、session、application,它们通过<jsp:useBean>标签的scope属性进行设置。这4种范围虽然存在很大的区别,但它们与JSP页面中的page、request、session、application范围相对应。 page范围:与当前页面相对应,JavaBean的生命周期存在于一个页面之中,当页面关闭时JavaBean被销毁。 request范围:与JSP的request生命周期相对应,JavaBean的生命周期存在于request对象之中,当request对象销毁时JavaBean也被销毁。 session范围:与JSP的session生命周期相对应,JavaBean的生命周期存在于session会话之中,当session超时或会话结束时JavaBean被销毁。 application范围:与JSP的application生命周期相对应,在各个用户与服务器之间共享,只有当服务器关闭时JavaBean才被销毁。 这4种作用范围与JavaBean的生命周期是息息相关的,当JavaBean被创建后,通过<jsp:setProperty>标签与<jsp:getProperty>标签调用时,将会按照page、request、session和application的顺序来查找这个JavaBean实例,直至找到一个实例对象为止,如果在这4个范围内都找不到JavaBean实例,则抛出异常。
JavaBean的四个作用域范围
useBeans的scope属性可以用来指定javabean的作用范围。
page的范围是最小的。
page的话时作用范围最小的,只在当前页面有效
强制进行转换:username=((Users)pageContext.getAttribute("Users")).getUsername();
当“scope=request”的时候,注意要使用请求转发("request.getRequestDispatcher("文件名.jsp").forward(request,response);"),
不能使用请求重定向(直接超链接)
Javabean的四个作用域范围
说明:使用useBeans的scope属性可以用来指定javabean的作用域范围。
page //仅在当前页面有效
request //可以通过HttpRequest.getAttribute()方法取得JavaBean对象
session //可以通过HttpSession.getAttribute()方法取得JavaBean对象
application //可以通过application.getAttribute()方法取得JavaBean对象
useBeans的scope属性可以用来指定javabean的作用范围。
page的范围是最小的。
page的话时作用范围最小的,只在当前页面有效
强制进行转换:username=((Users)pageContext.getAttribute("Users")).getUsername();
当“scope=request”的时候,注意要使用请求转发("request.getRequestDispatcher("文件名.jsp").forward(request,response);"),不能使用请求重定向(直接超链接)
javaBeans作用范围
javabean的四个作用范围
javabean的四个作用范围