美文网首页
JavaWeb中application、session、requ

JavaWeb中application、session、requ

作者: PC_Repair | 来源:发表于2018-08-30 21:05 被阅读160次

在 JavaWeb 中实现数据共享往往是通过定义属性的方法来实现,类似于Hashmap中的键值对,有属性名和属性值作为设置属性方法的参数,而在其他的地方通过属性名去获取属性的值。定义不同级别的值,数据共享的范围也是有区别的,主要有以下三种级别:application(应用级)、session(会话级)、request(请求级)。

application(应用级):
  • 生效时间:服务器启动至服务器停止;
  • 作用域:在所有应用程序中有效;
  • 实现接口:ServletContext;

应用级所作用的范围是最大的,它利用到的类是ServletContext,在一个web被创建时,会自动初始化一个ServletContext对象,包含方法如下:

  • ServletContext getServletContext() 获取ServletContext对象;
  • Object getAttribute(String name) 从application中获取属性值;
  • void setAttribute(String name, Object value) 向application作用域中设置属性;
  • void removeAttribute(String name) 移除application作用域中的某属性。
session(会话级):
  • 生效时间:HTTP会话开始至会话结束;
  • 作用域:在当前会话中有效;
  • 实现接口:HttpSession;

会话级作用的范围仅此于应用级,那么什么是会话级呢?所谓的会话级,就是创建一个页面后执行的跳转、重定向、整合等都可以是一个会话,只要你不关闭浏览器页面,就是一次会话。 它通过HttpSession类来实现一次会话中的数据共享,类似于ServletContext,包含方法如下:

  • Servlet中得到session对象:HttpSession session = request.getSession();
  • Jsp中得到session对象:session是jsp内置对象之一,不用创建就可以直接使用;
  • void setAttribute(String name, Object value);
  • Object getAttribute(String name);
  • void removeAttribute(String name);
request(请求级):
  • 生效时间:HTTP请求开始到结束这段时间;
  • 作用域:在当前请求中有效;
  • 实现接口:HttpServletRequest ;

请求级作用的范围是最小的,它仅作用于一次请求,也就是说客户端向服务器发送一次请求的过程中,这也就意味着重定向是无法访问到request(请求级)的属性的。方法:

  • void setAttribute(String name, Object value);
  • Object getAttribute(String name);
  • void removeAttribute(String name);

doGet()、doPost() 函数的第一个参数就是 HttpServletRequest 对象, 使用这个对象的 setAttribute 即可传递信息。
设置好信息之后,要用到 RequestDispatcher 接口的 forward 方法,将请求转发给其他Servlet。
要想在一次请求中获取请求级属性值,同时还想到另一个Servlet只能选择跳转

RequestDispatcher rd = request.getRequestDispatcher("RS2");
rd.forward(request, response);
rd.include(request, response);

相关文章

  • JavaWeb中application、session、requ

    在 JavaWeb 中实现数据共享往往是通过定义属性的方法来实现,类似于Hashmap中的键值对,有属性名和属性值...

  • JavaWeb基础(六)-Cookie和Session

    1.Cookie和Session 在JavaWeb基础(五)中,我们分享了.Servlet规范、Servlet生命...

  • NetCore Session Ajax

    1、Session has not been configured for this application or...

  • Application Layers

    description today our session is about the Application La...

  • Java前端知识之JSP

    一、JSP内置对象session、application与Servlet技术 1.内置对象session sess...

  • servlet的三大作用域

    java web开发中servlet三大作用域对象为request、session和application(Ser...

  • 对于cookie和session的总结和思考

    前言 在JavaWeb中,由于http的无状态特性而延伸了cookie和session等工具,为我们保存客户端信息...

  • JavaWeb(十)Session

    1、session在不同环境下的不同含义 (1)session,中文经常翻译为会话,其本来的含义是指有始有终的一系...

  • JavaWeb之Session

    Session机制session机制采用的是在服务器端保持 HTTP 状态信息的方案 。 除了使用Cookie,W...

  • JavaWeb - Cookie/Session

    Cookie/Session 会话 会话:用户打开一个浏览器,点击了很多超链接,访问了多个web资源,关闭浏览器,...

网友评论

      本文标题:JavaWeb中application、session、requ

      本文链接:https://www.haomeiwen.com/subject/hrndwftx.html