jsp的四个作用域分别是什么,jsp4种作用域

  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的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: