JavaWeb-cookie,session工作方式

news/2024/5/18 11:49:12 标签: session, cookie, java

浅谈

  • cookie:客户端技术 (响应,请求)
  • session:服务器技术,利用这个技术,可以保存用户的会话信息? 我们可以把信息或者数据放在Session中!
java">        cookie.getName(); //获得cookie中的key
        cookie.getValue(); //获得cookie中的vlaue
        new Cookie("lastLoginTime", System.currentTimeMillis()+""); //新建一个cookie
        cookie.setMaxAge(24*60*60); //设置cookie的有效期
        resp.addCookie(cookie); //响应给客户端一个cookie

cookie:一般会保存在本地的 用户目录下 appdata;

  • 一个Cookie只能保存一个信息;
  • 一个web站点可以给浏览器发送多个cookie,最多存放20个cookie
  • Cookie大小有限制4kb;
  • 300个cookie浏览器上限

编码解码

java">URLEncoder.encode("秦疆","utf-8")
URLDecoder.decode(cookie.getValue(),"UTF-8")

什么是Session:

  • 服务器会给每一个用户(浏览器)创建一个Seesion对象;
  • 一个Seesion独占一个浏览器,只要浏览器没有关闭,这个Session就存在;
  • 用户登录之后,整个网站它都可以访问!–> 保存用户的信息;保存购物车的信息……

Session和cookie的区别:

  • Cookie是把用户的数据写给用户的浏览器,浏览器保存 (可以保存多个)
  • Session把用户的数据写到用户独占Session中,服务器端保存 (保存重要的信息,减少服务器资源的浪费)
  • Session对象由服务创建;

使用场景:

  • 保存一个登录用户的信息;
  • 购物车信息;
  • 在整个网站中经常会使用的数据,我们将它保存在Session中;

会话自动过期:web.xml配置

java"><!--设置Session默认的失效时间-->
<session-config>
<!--15分钟后Session自动失效,以分钟为单位-->
<session-timeout>15</session-timeout>
</session-config>

http://www.niftyadmin.cn/n/564439.html

相关文章

JavaWeb------MVC三层架构

什么是MVC&#xff1a; Model view Controller 模型、视图、控制器 早期 现在 Model 业务处理 &#xff1a;业务逻辑&#xff08;Service&#xff09;数据持久层&#xff1a;CRUD &#xff08;Dao&#xff09; View 展示数据提供链接发起Servlet请求 &#xff08;a&#xff0c;…

JavaWeb-过滤器,监听器的实现流程

过滤器 Filter&#xff1a;过滤器 &#xff0c;用来过滤网站的数据&#xff1b; 处理中文乱码登录验证…. 1.导包&#xff1a;过滤器要到的包是 javax.servlet 2.编写过滤器:实现Filter接口&#xff0c;重写对应的方法即可 public class CharacterEncodingFilter implements…

MyBatis------CURD

CURD 1.namespace namespace中的包名要和mapper 接口的包名一致&#xff01; <?xml version"1.0" encoding"UTF-8" ?><!DOCTYPE mapperPUBLIC "-//mybatis.org//DTD Mapper 3.0//EN""http://mybatis.org/dtd/mybatis-3-mapper.…

MyBatis------日志分页使用注解开发

1.日志 分类&#xff1a; SLF4JLOG4J 【掌握】LOG4J2JDK_LOGGINGCOMMONS_LOGGINGSTDOUT_LOGGING 【掌握】NO_LOGGING 以Log4j为例 什么是Log4j&#xff1f; Log4j是Apache的一个开源项目&#xff0c;通过使用Log4j&#xff0c;我们可以控制日志信息输送的目的地是控制台、…

数据库(一对多多对一)查询,动态SQL

多对一 多个学生&#xff0c;对应一个老师 对于学生这边而言&#xff0c; 关联 … 多个学生&#xff0c;关联一个老师 【多对一】 对于老师而言&#xff0c; 集合 &#xff0c; 一个老师&#xff0c;有很多学生 【一对多】 创建SQL CREATE TABLE teacher (id INT(10) NOT NULL…

探索篇------如何在自己的idea运行一个别人的完整项目

搭建对应的数据库 点击 open &#xff0c;或者在开始界面点击 open 添加要打开项目对应的目录 配置自己的Maven环境 配置自己的Tomcat环境 测试运行

Spring------控制反转的思想Hello,Spring的实现

1.spring简介 Spring&#xff1a;春天------> 给软件行业带来了春天&#xff01;SSH &#xff1a; Struct2 Spring Hibernate&#xff01;SSM &#xff1a; SpringMvc Spring Mybatis&#xff01; 2.开发思路(控制反转) 传统new对象的逻辑开发思路&#xff1a; dao/m…

Spring------IOC注入,注解开发,自动装配

1. set 注入 IOC容器&#xff0c;里面保存并注册了我们所有的Spring的对象 bean 在加载容器的时候&#xff0c;对象就被创建了 导入依赖 <dependency><groupId>org.springframework</groupId><artifactId>spring-webmvc</artifactId><ver…