jsp的四个作用域分别是什么,jsp4种作用域
首先需要说明的是,所谓的“范围”就是“信息共享的范围”,也就是说,一条信息可以有效到的范围。四个JSP内置对象的作用域是:应用程序、会话、请求和页面。
推荐课程:Java教程。
如何解决写爬虫IP受阻的问题?立即使用。
jsp的四大作用域分别是:
1、application 作用域
如果你把一个变量放在application里面,就意味着它的作用域是application,它的有效范围是整个application。整个应用是从应用开始到应用结束。我们没有说“从服务器启动到服务器关闭”,因为一个服务器可能部署多个应用程序。当然,如果你关闭了服务器,你就关闭了上面所有的应用程序。应用程序范围内的变量具有最长的生存期,如果不手动删除,它们可以一直使用。
Get attribute(string name)//从应用程序获取信息;
Void set attribute (string name,object value)//将信息设置到应用程序范围。
2、session作用域
如果将一个变量放在session中,就意味着它的作用域是session,它的有效作用域是当前会话。所谓当前会话,是指从用户打开浏览器到用户关闭浏览器的过程。
http session . Get attribute(string name)//从会话中获取信息。
Void http session.set attribute(字符串名称,对象值)//将信息保存到会话中。
http sessionhttpservlet request . Get session()//获取当前请求所在会话的对象。
当浏览器发出第一个HTTP请求时,可以将会话视为会话的开始。但是很难判断结束,因为浏览器关闭时不会通知服务器,所以只能通过以下方法判断:如果客户端在一定时间内没有响应,则认为会话结束。Tomcat的默认值是120分钟,但是这个值也可以通过HttpSession的setMaxInactiveInterval()方法来设置:
void setMaxInactiveInterval(int间隔)
如果希望主动结束会话,例如,当用户单击注销按钮时,可以使用HttpSession的invalid()方法强制当前会话:void invalid()
会话在以下时间被删除:
1)会话超时:超时是指服务器在一定时间内没有收到该会话对应的客户端的请求,并且该时间超过了服务器设置的最大会话超时。
2)程序调用httpsession.invalid()
3)服务器关闭或服务停止
注意:
1)因为静态资源访问*。html不会被编译成Servlet,它不涉及会话的问题。
2)当jsp页面没有明确禁止会话时,当浏览器第一次打开请求JSP时,服务器会自动为其创建一个会话,给它一个sessionID,并发送给客户端的浏览器。
3)由于会话会消耗内存资源,如果不打算使用会话,应该在所有JSP中关闭它。
4)当浏览器关闭时,会话不会被删除。只能通过以上三种方式删除。
会话存储在哪里?-在服务器的内存中。
3、Request作用域
request中的变量可以跨越forward前后两页。但是一旦页面被刷新,它们就会被重新计算。
请求:servlet . getrequestdispatcher( new . JSP )。转发(请求,响应);
注意:
1.转发是服务器行为,而重定向是客户端行为。
2.无论在服务器上如何转发,原来Servlet的地址仍然会显示在浏览器的地址栏中。
4、page作用域
page对象的范围仅限于用户请求的当前页面。
请求和页面的生命周期都很短,两者的区别在于一个请求可以包含多个页面页面(包含、转发、过滤)。这就是jsp的四个作用域的细节。请多关注我们的其他相关文章!
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。