Servlet中的Session
默认的情况下一个浏览器独占一个Session对象。在需要保存用户数据时,服务器程序可以把用户数据写到用户浏览器 独占的session中,当用户使用浏览器访问其他程序是,其他程序可以从用户的Session中取出该用户的书序,为程序服务 Cookie和Session的主要区别:*cookie是把用户的数据写到用户的浏览器*session技术把用户的数据写到用户独占的Session中每个Session创建的时候都有一个ID号(默认是没有设置有效期的,会一直存在),然后以cookie的形式写给浏览器 从IE8在浏览器不关闭,打开新的一个浏览器的情况下,就有JSESSIONID共享 解决关闭浏览器浏,再打开浏览器创建一个新的session无法获得上次Session的问题:response.setCharacterEncoding("UTF-8");response.setContentType("text/html");PrintWriter out = response.getWriter();HttpSession hs=request.getSession();String id=hs.getId();System.out.println(id);Cookie cookie=new Cookie("JSESSIONID",id);cookie.setMaxAge(3600);cookie.setPath("/day_07");response.addCookie(cookie);hs.setAttribute("name","洗衣机");注意上边的cookie的name不能错,同时path也不能错 当浏览器在Internet选项的隐私-高级中设置了禁止cookie(第一方表示当前的网站的cookie,第三方表示其他网站的cookie)时,无法向浏览器回写id,此时在其他的页面无法或的改session,解决办法:重写URL:request.getSession();String url1=response.encodeURL("/day_07/Session_01");String url2=response.encodeURL("/day_07/Session_02");后边会跟上JSESSIONIDout.println("<a href="+url1+" target='_blank'>购买</a>");out.println("<a href="+url2+" target='_blank'>结账</a>");------但是这种方法有个debug是无法解决的;就是重新打开一个新的浏览器无法获得该session session的配置:tomcat默认的是三十分钟<session-config><session-timeout>分钟</session-timeout></session-config> request.getSession()与request.getSession(false)的区别:第一个是得到session,同时此时没创建session,会创建一个Session对象,而后者仅仅是获得session对象,不会创建 销毁session:invalidate()方法
转载于:https://www.cnblogs.com/08love125/articles/5436589.html
Servlet中的Session相关推荐
- servlet中的session不一定会被创建
参考:http://c5ms.iteye.com/blog/1260593 servlet中的session不一定会被创建 以前在树上看session的生命周期,都知道session的生命周期是在客户 ...
- Servlet中关于Session数据存储遇到的数据转换问题
首先我们先通过前端jsp传值给后台servlet 代码: <a href = "servlet/S1?number=1">数据转换</a> 我们向servl ...
- php获取jsp的session的值,在JSP或Servlet中获取session数量
enums=ul.getUserList(); int i=0; while(enums.hasMoreElements()) { out.println(enums.nextElement()); ...
- Servlet中的Session使用方法
步骤 获取session对象 通过setAttribute写入session 获取session的值 session销毁(手动销毁和自动销毁) 设置session package com.demo;i ...
- Servlet中(Session、Cookies、Servletcontext)的基本用法
//req: 用于获得客户端(浏览器)的信息 //res: 用于向客户端(浏览器)返回信息 1.session的设置: //得到和req相关联的session,如果没有就创建 ...
- Tomcat5集群中的SESSION复制详解
Tomcat 5服务器为集群和SESSION复制提供了集成的支持.本系列的第一篇文章将为大家提供SESSION持久性以及TOMCAT集群中SESSION复制的 内在工作机制一个概要认识.我将会讨论SE ...
- servlet单实例多线程 ---线程安全问题是由实例变量造成的,只要在Servlet里面的任何方法里面都不使用实例变量,那么该Servlet就是线程安全的。(所有建议不要在servlet中定义成员变
Servlet 单例多线程 Servlet如何处理多个请求访问? Servlet容器默认是采用单实例多线程的方式处理多个请求的: 1.当web服务器启动的时候(或客户端发送请求到服务器时),Servl ...
- Tomcat中的Session小结
什么是Session 对Tomcat而言,Session是一块在服务器开辟的内存空间,其存储结构为ConcurrentHashMap: Session的目的 Http协议是一种无状态协议,即每次服务端 ...
- java sessionstate_在Java Web开发中自定义Session
Session在存储安全性要求较高的会话信息方面是必不可少的,对于分布式Web应用自定义Session支持独立的状态服务器或集群是必须的.本文就来教大家如何在Java Web开发中自定义Session ...
最新文章
- react 用html插件,VSCode拓展插件推荐(HTML、Node、Vue、React开发均适用)-Go语言中文社区...
- vscode配置c 环境_SAST Weekly教你在macOS上用VS Code配置C/C++编程环境
- Linux内核RCU(Read Copy Update)锁简析-前传
- 破圈法求最小生成树_【学科加油站】悉大COMP9007 最小生成树知识点总结!
- Docker Kubernetes k8s 从入门到精通 阿里云实战命令
- 四阶龙格库塔算法及matlab代码
- JAVA毕设项目宠物店管理系统设计与实现(Vue+Mybatis+Maven+Mysql+sprnig+SpringMVC)
- 通达OA数据库服务断电无法启动的处理方法(亲测2020-10-07。通达OA2017版本)
- Html5餐饮管理app,哗啦啦餐饮软件 餐饮管理系统
- 日紫白飞星算法_年、月、日、时紫白飞星法!
- 2021年岳阳市高考成绩查询,2021年岳阳高考状元名单公布,岳阳文理科状元是谁多少分...
- (80)FPGA减法器设计(全减法器)
- servlet使用监听器统计网站在线人数
- 礼品 read.php,心愿送礼网教你如何体面的接受礼品
- macOS Ventura 13 正式版系统(内部版本号:22A380)官方原版dmg镜像
- PVID(pvid vlan是什么意思)
- 便利蜂2022数据分析秋招一面凉经
- 对于企业,8种常见的无形资产评估项目
- 数据堂公司董事长齐红威应邀参加安徽省政府组织的企业家恳谈会
- java课程之团队开发冲刺阶段1.2
热门文章
- Error:The module 'app' is an Android project without build variants, and cannot be built.
- PHP 会话(session 时间设定)使用入门
- SpringBoot YML配置文件
- Go 的 Contex 是线程安全的吗?
- PHP Reflection与依赖注入
- MySQL10061错误Access denied for user root@localhost(Windows下)
- kafka生产者消息分区策略
- 国产IT彪起来了,后浪要将前浪拍死在沙滩上
- 解决 XMLHttpRequest status = 0 问题 及 返回值为null问题
- php编译时出错make: *** [libphp5.la] Error 1