首页 > 编程语言 >javaweb四大域

javaweb四大域

时间:2022-11-01 17:37:04浏览次数:45  
标签:cookie 存储 javaweb 对象 request session 四大 服务器

什么是域?

一句话总结:就是用来存数据的地方,里面存储的数据都是以key/value的形式存储

javaweb中有四大域,他们的作用范围如下:PageContext<request<session<ServletContext

 ServletContext作用范围为整个应用程序

PageContext作用范围为当前页面

这两个域要么作用范围太大,容易造成信息被盗取;要么作用范围太小,达不到数据传输效果,在开发过程中不经常用到

下面重点解释request域和session域

request域

request域作用在浏览器向服务器发送一次请求,请求处理完成,request域也随之消失

如果在一个请求中经历了多个Servlet,那么多个Servlet就可以使用request来共享数据

既然是用来存数据的,那么就有拿数据,存数据的方法:

void setAttribute(String name, Object value):用来存储一个对象,也可以称之为存储一个域属性

Object getAttribute(String name):用来获取request中的数据,当前在获取之前需要先去存储才行

void removeAttribute(String name):用来移除request中的域属性,如果参数name指定的域属性不存在,那么本方法什么都不做

Enumeration getAttributeNames():获取所有域属性的名称

session域

session域作用在一次会话,一个会话创建一个HttpSession对象,同一会话中的多个请求中可以共享session中的数据

服务器创建session,在客户端使用getSession()方法拿到session对象,同理,调用setAttribute(),getAttribute()存储,拿到数据.

session实现原理

在实际案例中,session与cookie配合使用,比如,用户在浏览器登录淘宝,假设30分钟没有做任何操作的话,登录就会失效.

原因:

session:创建于服务器,存在于服务器

cookie:创建于服务器,存在于浏览器(也叫浏览器的一块小甜点)

session在服务器中有一个session池,这个session池用来存储数据(对象),每个用户都有它的session对象,那么服务器怎么知道这个session对象是谁的?

这时候要借助cookie,cookie在服务器创建时,带有sessionID,存在浏览器,下次再访问服务器时,cookie就自动把sessionID传到服务器,服务器通过sessionID找到对应的session对象.

注意:

session对象有效时间为30分钟,时间过后,session对象就会删除,sessionID找不到匹配的对象,所以在实际案例中,登录就会失效.

cookie与session

 

标签:cookie,存储,javaweb,对象,request,session,四大,服务器
From: https://www.cnblogs.com/pilpill/p/16848248.html

相关文章

  • JAVAWeb --JSP基础语法
    准备工作,导入一些依赖<dependencies><!--Servlet的依赖--><dependency><groupId>javax.servlet</groupId><artifactId>s......
  • JavaWeb学习(四)期中考试总结(方框形式超链接,对修改页面进行优化,多条件模糊查询、输入长
    一、方框形式超链接 <inputtype="button"value="注册"onclick="location.href='zhuce.jsp'"/>  二、对修改页面进行优化<tr><td>活动主题(不超过20个汉......
  • JavaWeb期中考试-2019年版(三)
    本次内容为2019年期中考试的数据添加界面add.jsp和数据接受界面addq.jsp的代码分享首先是add.jsp1<%@pagelanguage="java"contentType="text/html;charset=UTF-8"......
  • JSP的四大作用域
    图示: 注意事项:如果请求域中的数据,依次从小到大pageContext,request,session,application获取指定名称的属性,若找到了则返回,且结束该次查找。若找不到返回""。 描述:pag......
  • JavaWeb期中考试-2019年版(一)
    第七次全国人口普查登记(20分)1、项目需求:开展第七次全国人口普查,将为编制“十四五”规划提供重要信息支持;推动实现人口与经济社会、资源环境协调发展,为深化供给侧结构性改......
  • 狂神说javaweb笔记
    1、基本概念1.1前言静态web:提供给所有人看到的数据不会发生变化HTML,CSS动态web:有数据交互,登录账号密码等,网站访问人数等技术栈:severlet、jsp,asp,php在java中,动......
  • Javaweb基础复习------JSON相关知识
    JSON(JavaScript对象表示法)首先,我们需要知道的是,要使用json语法的话,就需要在Maven项目中导入相关的包,可以参考我之前发过的那个Maven导包那个网址,在里面找到这个页面:或者,......
  • JavaWeb
    客户端给服务器发数据叫请求服务器给客户端回传数据叫响应Web资源的分类:静态资源:htmlcssjstxtmp4视频jpg图片动态资源:jsp页面Serviet程序常用的Web服务器:Tomc......
  • JavaWeb之连接数据库操作
    亲爱的学弟学妹,我知道你们是因为什么搜到这篇博客的,我也很懂你们现在的心情,此时此刻举目无亲面对着建民老师的高要求,你们或许十分无助,所以我写下这篇博客,因为我淋过雨所以......
  • Javaweb基础知识复习------AJAX
    AJAX相关知识复习简而言之,就是可以用AJAX+HTML代替JSP页面,也可以进行异步交互,更关心部分界面Ajax案例后端代码就是一个servlet文件,前端页面的代码也不是很常用,可以在下......