JavaWeb中application、session、requ

2018-08-30  本文已影响160人  PC_Repair

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

application(应用级):

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

session(会话级):

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

request(请求级):

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

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

RequestDispatcher rd = request.getRequestDispatcher("RS2");
rd.forward(request, response);
rd.include(request, response);
上一篇 下一篇

猜你喜欢

热点阅读