会话技术,指的是从打开浏览器开始访问某个站点,到关闭浏览器的整个过程,称为一次会话。

会话技术分为Cookie和Session。

Cookie是指 将数据存储在本地,减少服务器的存储压力,安全性不好,客户端可清除Cookie。

Session是指将数据存储在服务器,增加服务器的存储压力,安全性高,客户端不可清除。

一、Cookie技术

(一)、 服务器端怎么发送一个Cookie到客户端

1、创建一个Cookie

Cookie cookie = new Cookie( String cookieName,String cookieValue );

Cookie 中不能存储中文。

2 、设置Cookie的在客户端的持久时间

cookie.setMaxAge(int seconds)

如cookie.serMaxAge(60*60) 存储60*60秒,过期后浏览器自动删除cookie。

3、 设置Cookie的存储路径

        //4。为cookie设置携带路径cookie.setPath("/WEB05/SendCookieServlet");//只有WEB05下所有都携带cookie.setPath("/WEB05");//服务器都携带cookcookie.setPath("/");//产生cookie路径下的所有资源都携带cookie.setPath("");

4、向客户端发送Cookie

response.addCookie(cookie);

5、删除客户端的Cookie

如果删除已存在的Cookie信息,只要创建一个同名同路径且持久时间为0的Cookie覆盖就可以了。

(二)、服务器端怎么接受客户端携带Cookie的发送。

Cookie是以请求头的方式发送的,Cookie:“name=zhangsan”

1、通过request获得Cookie

Cookie[] cookie = request.getcookies();

2、 遍历cookie数组,获得想要的 cookie信息。

for(Cookie cookie : cookies){
if(cookie.getName().equal(cookieName)){
String cookieValue = cookie.getValue();
}
}

实例: 如何用Cookie获得网站的上一次访问时间:

package com.oracle.web;import java.io.IOException;
import java.text.SimpleDateFormat;
import java.util.Date;import javax.servlet.ServletException;
import javax.servlet.http.Cookie;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
//显示上次访问时间Servlet
public class LastAccessServlet extends HttpServlet {public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {Date date=new Date();SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");//当前时间String time=sdf.format(date);//1.创建Cookie对象,记录当前最新访问时间Cookie cookie=new Cookie("lastAccessTime",time);cookie.setMaxAge(60*10);//发送Cookie到客户端
        response.addCookie(cookie);//2.获取客户端携带的CookieString lastAccessTime=null;Cookie[] cookies=request.getCookies();if(cookies!=null){for(Cookie c:cookies){if(c.getName().equals("lastAccessTime")){lastAccessTime=c.getValue();}}}//解决中文乱码response.setContentType("text/html;charset=utf-8");if(lastAccessTime==null){response.getWriter().write("你是第一次访问!");}else{response.getWriter().write("你上一次访问的时间为"+lastAccessTime);}}public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {doGet(request, response);}
}

Session技术

Session技术是将数据存储在服务器端的技术,会为每个客户端都创建一块内存空间      存储客户的数据,但客户端需要每次都携带一个标识ID去服务器中寻找属于自己的内     存空间。所以说Session的实现是基于Cookie,Session需要借助于Cookie存储客     户的唯一性标识JSESSIONID。

一、获得Session对象

HttpSession session = request.getSession();

二、  怎样向session中存取数据(session也是一个域对象)

session.setAttribute(String name,Object obj);

session.getAttribute(String name);

session.removeAttribute(String name);

三、 Session的生命周期

创建:第一次执行request.getSession()时创建

销毁:

1)服务器(非正常)关闭时

2)session过期/失效(默认30分钟)

问题:时间的起算点 从何时开始计算30分钟?

从不操作服务器端的资源开始计时

可以在工程的web.xml中进行配置

<session-config>

<session-timeout>30</session-timeout>

</session-config>

3)手动销毁session

session.invalidate();

作用范围:

默认在一次会话中,也就是说在,一次会话中任何资源公用一个session对象

转载于:https://www.cnblogs.com/time-to-despair/p/9842589.html

JAVA web 会话技术CookieSession相关推荐

  1. java web编程技术解题与实验指导_javaweb编程技术实验指导书

    javaweb编程技术实验指导书 <Java Web编程技术> 实 验 指 导 书 沈泽刚 编写2010 年 3 月目 录 实验一 简单的 Servlet 与 JSP .1 实验二 HTT ...

  2. java web编程技术上机实验_JavaWeb編程技术实验指导书.doc

    JavaWeb編程技术实验指导书 <Java Web编程技术> 实 验 指 导 书 沈泽刚 编写 2010年3月 目 录 实验一 简单的Servlet与JSP1 实验二 HTTP请求对象3 ...

  3. java web 开发技术大全 代码_Java Web开发技术大全

    资深程序员全力打造,深入剖析SSH框架整合开发的精髓 全方位解读Java Web开发的基础知识.高级技术及应用案例 内容全面,讲解详细,全面覆盖JSP.Se rvlet.AJAX及SSH框架整合开发 ...

  4. Java Web编程技术

    为什么80%的码农都做不了架构师?>>>    Java Web编程技术 该文档重点讲解如何自定义标签的开发,包括简单标签的开发.TLD文件.几种常见类型标签的开发. 对其内容详细阅 ...

  5. java web 编程技术 pdf_Java WEB编程技术.pdf

    您所在位置:网站首页 > 海量文档 &nbsp>&nbsp计算机&nbsp>&nbspJava Java WEB编程技术.pdf289页 本文档一共被 ...

  6. Java Web开发技术方案

    Java Web开发技术方案 Java Web开发分前端.后端: Java Web前端: -就是在Web应用中用户可以看得见碰得着的东西.包括Web页面的结构.Web的外观视觉表现以及Web层面的交互 ...

  7. Java Web开发技术教程入门-初识动态网页

    这段时间学校搞了一个"阅战阅勇"的阅读活动,奖品还是挺丰富的~于是,奔着这些奖品,我去图书馆借了这本<Java Web开发技术教程>.一是为了那些丰富的奖品,二是为了回 ...

  8. [Java Web]会话跟踪技术

    ⭐作者介绍:大二本科网络工程专业在读,持续学习Java,努力输出优质文章 ⭐作者主页:@逐梦苍穹 ⭐所属专栏:Java Web 目录 1.会话跟踪技术概述 2.数据共享 3.Cookie 4.Sess ...

  9. 【渝粤题库】广东开放大学 java web开发技术 形成性考核

    题库查询系统 选择题 题目:当多个用户请求同一个JSP页面时,Tomcat服务器为每个客户启动一个_____. 题目:以下_____不是JSP运行所必须的条件. 题目:Tomcat服务器的默认端口为_ ...

最新文章

  1. 怎么看电脑屏幕尺寸_经常面对电脑怎么护眼?电脑族怎么保养身体?
  2. 数据库在EF中创建模型
  3. eclipse中访问不了tomcat首页server Locations变灰无法编辑
  4. Wpf体系结构的学习
  5. D2前端技术论坛之网页无障碍学习笔记
  6. python统计分析--4.Logistic回归
  7. html 把文字显示控制,控制字体加粗显示的html标签是哪个
  8. mos管的rc吸收电路计算_MOS/CMOS集成电路简介及N沟道MOS管和P沟道MOS管
  9. pytorch维度变换
  10. Chika and Friendly Pairs(莫队+树状数组+离散化+预处理上下界)
  11. 锐捷显示认证服务器不可用,win10系统下锐捷客户端认证失败的解决方法
  12. 小程序 版本管理使用教程
  13. Linux电脑怎么接投影,linux如何连接投影机
  14. python 多张图片合成pdf_Python多图片合并PDF的方法
  15. android 广播自启动,关于BOOT_COMPLETED广播-自启动
  16. ReactJs 简介
  17. 今天终于把爬虫的Ajax请求搞懂了
  18. [SSL_CHX][2021-10-15]移动路线
  19. Python 屏幕亮度的调节与息屏
  20. 英文字母的大小写转换

热门文章

  1. 3D角色设定全析百图斩
  2. vscode+XDebug调试远程环境(虚拟机)上的PHP代码
  3. JavaWeb第二讲 重定向与转发 doGet()与doPost()
  4. 每周分享第7期(2019.5.18)
  5. 浅谈unity中gamma空间和线性空间
  6. websocket 工作原理
  7. CCF - 201503-3 - 节日
  8. 有1,2,3,4四个数字,能组成多少个互不相同且无重复数字的三位数 都是多少
  9. 用ASP实现简单的繁简转换
  10. Dynamics AX 2012 R2 外部程序运行在没有AD的环境(如PDA) 调用AX服务