Servlet的三大作用域

Servlet的三大作用域

request

request是一个请求,只要发送一个请求就会创建一个request对象,这个对象只在本次请求中有效。

一般用于不同页面之间的同一请求,比如表单的传值,a链接的传值跳转等。

request对象常用的方法有:request.setAttribute(), request.getAttribute(), request.removeAttribute(), request.getParameter()等。

session

session是一次会话,服务器会为每一个会话创建一个session对象,session中的数据可以被本次会话中的所有servlet访问,会话是从浏览器打开开始,到关闭浏览器结束。

session常用于登录验证,登录成功后浏览器会为其分配一个session键值对,之后的访问权限判断键值对就可以了。

session对象常用的方法有session.setAttribute(); session.getAttribute(); session.removeAttribute();

session对象的创建,在servlet中使用HttpSession session = request.getSession();l的方式来创建;因为session是JSP的内置对象,所以在jsp页面中可以通过<%session.setAttribute(“name”,”name”)%>的方式使用session

session对象的销毁。可以通过设置他的有效时间从而达到销毁的目的,session.setMaxInactiveInterval(10);还可以直接注销掉session.invalidate();

用户第一次访问服务器的时候服务器会自动给其分配一个sessionID,用户将该sessionID存放到本地,下次使用的时候就不会再次创建了。


application

application是应用程序作用域,是从程序开始运行到运行停止。

保存在application作用域中的值,只要程序没有停止运行,都可以获取。

此作用域一般不使用。

注意

如果能使用request作用域就使用request作用域,如果request作用域用不了,则使用session作用域。会话级别的数据要是用session作用域,比如说登录信息,银行账号,如果数据是系统级别的,那么使用application作用域

---------------------

作者:Sunny-安好

来源:CSDN

原文:https://blog.csdn.net/qq_19001241/article/details/77924213

版权声明:本文为博主原创文章,转载请附上博文链接!



相同点:

ServletContext 就是application!

说明:

其实servletContext和application 是一样的,就相当于一个类创建了两个不同名称的变量。ServletContext及application是单个服务器上部署是单例的,所以两者本质上是一个对象。

大家只要打开jsp编译过后生成的Servlet中的 _jspService()方法就可以看到如下的声明:

ServletContext application =null;application = pageContext.getServletContext();

不同点:

application用在jsp中,servletContext用在servlet中。

说明:

application和page request session 都是JSP中的内置对象,

在后台用ServletContext存储的属性数据可以用application对象获得。而且application的作用域是整个Tomcat启动的过程。

例如:

 ServletContext.setAttribute("username",username);

则在JSP网页中可以使用如下语句来得到这个用户名。

application.getAttribute("username");


https://www.cnblogs.com/vice/p/9125431.html

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • java web开发中servlet三大作用域对象为request、session和application(Ser...
    busy1225阅读 1,915评论 0 0
  • JSP总结(经典) day1 JSP 定义: 1)Java Server Page, Java EE 组件,本...
    java日记阅读 3,527评论 0 13
  • 这部分主要是与Java Web和Web Service相关的面试题。 96、阐述Servlet和CGI的区别? 答...
    杂货铺老板阅读 1,426评论 0 10
  • IOC 控制反转容器控制程序对象之间的关系,而不是传统实现中,有程序代码之间控制,又名依赖注入。All 类的创建,...
    irckwk1阅读 987评论 0 0
  • 本文包括:1、Listener简介2、Servlet监听器3、监听三个域对象创建和销毁的事件监听器4、监听三个域对...
    廖少少阅读 6,132评论 6 28