JavaBean的生命周期存在于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四个作用域范围 说明:使用useBean的scope属性可以用来指定javabean的作用范围。 A、page(仅在当前页面有效) B、request(可以通过HttpRequest.getAttribute()方法获取javabean对象) C、session(可以通过HttpSession.getAttribute()方法获取javabean对象) D、application(可以通过ServletContext.getAttribute()方法获取javabean对象)
时间: 2024-10-14 11:03:20