java session持久化_Session的生命周期和持久化
![](https://box.kancloud.cn/44537ef796e6a49c6421fd9186276df6_468x371.png)
web.xml中配置,session的计算是从停止操作session资源开始,包括获取,保存等
~~~
10
~~~
![](https://box.kancloud.cn/2d3a8580db14f37c948e973333d21a9c_634x286.png)
![](https://box.kancloud.cn/fad105802ebffea59697a176a4602937_465x129.png)
持久化:创建一个cookie覆盖之前服务器自动生成的JSESSIONID,设置持久化时间
GetSessionServlet.java
~~~
package zyw.session;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import java.io.IOException;
@WebServlet(name = "GetSessionServlet",urlPatterns = "/getsession")
public class GetSessionServlet extends HttpServlet {
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
}
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
//获取session
HttpSession session = request.getSession();
String goods = (String)session.getAttribute("goods");//Ctrl + Alt + v
response.getWriter().write(goods+"");//加“”防止空指针
}
}
~~~
SaveSessionServlet.java
~~~
package zyw.session;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.*;
import java.io.IOException;
@WebServlet(name = "SaveSessionServlet",urlPatterns = "/savesession")
public class SaveSessionServlet extends HttpServlet {
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
}
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
HttpSession session = request.getSession();
//创建一个cookie覆盖之前服务器自动生成的JSESSIONID
Cookie cookie = new Cookie("JSESSIONID", session.getId());
cookie.setMaxAge(60*60);
response.addCookie(cookie);
session.setAttribute("goods","cup");
}
}
~~~
java session持久化_Session的生命周期和持久化相关推荐
- 一张图弄懂java线程的状态和生命周期
转载自 一张图弄懂java线程的状态和生命周期 上图是一个线程的生命周期状态流转图,很清楚的描绘了一个线程从创建到终止的过程. 这些状态的枚举值都定义在java.lang.Thread.State下 ...
- 线程知识点(一)—— 程序、进程、线程之间的区别与联系、Java的线程状态和生命周期
1 程序.进程.线程之间的区别与联系 三者之间的形象化理解: * 程序:代码实现了功能,就是程序,是静态的: * 进程:执行中的程序就是进程,是动态的: * 线程:进程内的一个执行单元,也是进程内的可 ...
- 详谈java类和对象的生命周期
引言 最近有位细心的朋友在阅读笔者的文章时,对java类的生命周期问题有一些疑惑,笔者打开百度搜了一下相关的问题,看到网上的资料很少有把这个问题讲明白的,主要是因为目前国内java方面的教材大多只是告 ...
- java session 生命周期_java之hibernate之session中对象的生命周期
1. session是用来执行对象的crud操作,并且session是对象事务工厂.session是线程级别的,所以生命周期比较短. 2.session中对象的生命周期图: 3.session中对象的 ...
- java简述会话对象的生命周期_简述Java Web三大作用域对象
Java Web三大作用域对象 这三个对象的作用域和生命周期--从上往下依次递增: 上面最小,下面最大. 1.HttpServletRequest--请求对象 HttpServletRequest是生 ...
- java websocket 生存期_Java WebSocket生命周期
本章将讲述WebSocket端点的生命周期.WebSocket端点的生命周期为开发人员提供了一个框架来管理端点所需要的资源,也提供了一个框架来拦截消息.我们将仔细探讨其生命周期的顺序和语义,以及Jav ...
- 【JAVA笔记——道】对象生命周期详解
JAVA对象实例化过程 Class初始化理解 此篇中详细介绍了JAVA对象的实例化过程 JAVA对象内存分配过程 JVM 这里默认使用HotSpot虚拟机.简单回顾一下JVM内存结构,JVM中主要将使 ...
- java线程基础巩固---线程生命周期以及start方法源码剖析
上篇中介绍了如何启动一个线程,通过调用start()方法才能创建并使用新线程,并且这个start()是非阻塞的,调用之后立马就返回的,实际上它是线程生命周期环节中的一种,所以这里阐述一下线程的一个完整 ...
- Java的技术采⽤用⽣生命周期
这部分采⽤用与英⽂文站同样的标准划分: 创新者 早期采⽤用者 早期⼤大众 晚期⼤大众 技术采⽤用⽣生命周期是美国⾼高科技营销⼤大师杰弗⾥里里·摩尔在⾃自⼰己的书<跨越鸿沟>⾥里里提出的概念 ...
最新文章
- 如何在 Python 中创建一个简单的神经网络
- docker 批量删除 镜像或容器 删除所有容器
- python之celery简单使用
- 怎样一步一步删除(linux amp; UNIX)环境下 oracle 11g 集群节点
- C#LeetCode刷题之#112-路径总和​​​​​​​(Path Sum)
- (68)Verilog HDL系统函数和任务:$random
- 归一化方法 Normalization Method
- Linux文件权限的解析
- oracle model类型,Oracle SQL高级编程——Model子句全解析-Oracle
- android 删除特定字符串,android-从改造响应中删除不需要的字符串
- ESLint规则配置说明
- 【总结】Unity游戏优化
- 《TextRank: Bringing Order into Texts》
- 借助winPE手工清除Deep Freeze冰点还原
- 58子站安居,经纪人营销管理平台登录接口加密逆向
- Java设计模式--------观察者模式
- ctf题库--天下武功唯快不破
- [面试题]100层楼丢玻璃球,一旦超过某层就会破,你只有两个球。
- QT连接MySQL数据库问题
- 三、HBase的优化(后期继续优化)
热门文章
- 数据预处理之归一化(normalization)
- 水星mw310r虚拟服务器,水星MW310R静态网络(IP)设置教程
- python给变量赋值范围_关于lambda:在Python中将变量赋值给本地函数范围
- 深入浅出设计模式原则之单一原则(SRP)
- YOLOv3中darknet的各种层的说明
- cmd命令操作Mysql数据库,命令行操作Mysql
- Faster RCNN解析
- OpenCV中图像垂直拼接函数vconcat的使用
- 编写一个算法frequency,统计在一个输入字符串中各个不同字符出现的频度。用适当的测试数据来验证这个算法。
- linux增加swap分区大小