JAVA web 会话技术CookieSession
会话技术,指的是从打开浏览器开始访问某个站点,到关闭浏览器的整个过程,称为一次会话。
会话技术分为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相关推荐
- java web编程技术解题与实验指导_javaweb编程技术实验指导书
javaweb编程技术实验指导书 <Java Web编程技术> 实 验 指 导 书 沈泽刚 编写2010 年 3 月目 录 实验一 简单的 Servlet 与 JSP .1 实验二 HTT ...
- java web编程技术上机实验_JavaWeb編程技术实验指导书.doc
JavaWeb編程技术实验指导书 <Java Web编程技术> 实 验 指 导 书 沈泽刚 编写 2010年3月 目 录 实验一 简单的Servlet与JSP1 实验二 HTTP请求对象3 ...
- java web 开发技术大全 代码_Java Web开发技术大全
资深程序员全力打造,深入剖析SSH框架整合开发的精髓 全方位解读Java Web开发的基础知识.高级技术及应用案例 内容全面,讲解详细,全面覆盖JSP.Se rvlet.AJAX及SSH框架整合开发 ...
- Java Web编程技术
为什么80%的码农都做不了架构师?>>> Java Web编程技术 该文档重点讲解如何自定义标签的开发,包括简单标签的开发.TLD文件.几种常见类型标签的开发. 对其内容详细阅 ...
- java web 编程技术 pdf_Java WEB编程技术.pdf
您所在位置:网站首页 > 海量文档  > 计算机 > Java Java WEB编程技术.pdf289页 本文档一共被 ...
- Java Web开发技术方案
Java Web开发技术方案 Java Web开发分前端.后端: Java Web前端: -就是在Web应用中用户可以看得见碰得着的东西.包括Web页面的结构.Web的外观视觉表现以及Web层面的交互 ...
- Java Web开发技术教程入门-初识动态网页
这段时间学校搞了一个"阅战阅勇"的阅读活动,奖品还是挺丰富的~于是,奔着这些奖品,我去图书馆借了这本<Java Web开发技术教程>.一是为了那些丰富的奖品,二是为了回 ...
- [Java Web]会话跟踪技术
⭐作者介绍:大二本科网络工程专业在读,持续学习Java,努力输出优质文章 ⭐作者主页:@逐梦苍穹 ⭐所属专栏:Java Web 目录 1.会话跟踪技术概述 2.数据共享 3.Cookie 4.Sess ...
- 【渝粤题库】广东开放大学 java web开发技术 形成性考核
题库查询系统 选择题 题目:当多个用户请求同一个JSP页面时,Tomcat服务器为每个客户启动一个_____. 题目:以下_____不是JSP运行所必须的条件. 题目:Tomcat服务器的默认端口为_ ...
最新文章
- 怎么看电脑屏幕尺寸_经常面对电脑怎么护眼?电脑族怎么保养身体?
- 数据库在EF中创建模型
- eclipse中访问不了tomcat首页server Locations变灰无法编辑
- Wpf体系结构的学习
- D2前端技术论坛之网页无障碍学习笔记
- python统计分析--4.Logistic回归
- html 把文字显示控制,控制字体加粗显示的html标签是哪个
- mos管的rc吸收电路计算_MOS/CMOS集成电路简介及N沟道MOS管和P沟道MOS管
- pytorch维度变换
- Chika and Friendly Pairs(莫队+树状数组+离散化+预处理上下界)
- 锐捷显示认证服务器不可用,win10系统下锐捷客户端认证失败的解决方法
- 小程序 版本管理使用教程
- Linux电脑怎么接投影,linux如何连接投影机
- python 多张图片合成pdf_Python多图片合并PDF的方法
- android 广播自启动,关于BOOT_COMPLETED广播-自启动
- ReactJs 简介
- 今天终于把爬虫的Ajax请求搞懂了
- [SSL_CHX][2021-10-15]移动路线
- Python 屏幕亮度的调节与息屏
- 英文字母的大小写转换
热门文章
- 3D角色设定全析百图斩
- vscode+XDebug调试远程环境(虚拟机)上的PHP代码
- JavaWeb第二讲 重定向与转发 doGet()与doPost()
- 每周分享第7期(2019.5.18)
- 浅谈unity中gamma空间和线性空间
- websocket 工作原理
- CCF - 201503-3 - 节日
- 有1,2,3,4四个数字,能组成多少个互不相同且无重复数字的三位数 都是多少
- 用ASP实现简单的繁简转换
- Dynamics AX 2012 R2 外部程序运行在没有AD的环境(如PDA) 调用AX服务