会话—session
这篇随笔是上一篇的姊妹篇@_@!
session
session实现原理
服务器是如何做到一个session为一个浏览器的多次请求而服务
服务器创建session出来后,会把 session的id号,以cookie的形式回写给客户机,这样,只要客户机的浏览器不关, 去访问服务器时,都会带着session 的id号去,服务器发现客户机带session id过来了,就会使用内存中与之对应的session为之服务
如何做到一个session为多个浏览器服务
服务器第一次创建session,程序员把session id号,手工以cookie的形式回送给浏览器,并设置cookie的有效期这样,即使用户的浏览器关了,开新浏览器时,还会带着session id找服务器,服务器从而就可以用内存中与之对应的session为第二个浏览器窗口服务。
应用:关掉IE后,再次打开IE,还能访问上次的session
package com.yyz.session; import java.io.IOException; import javax.servlet.ServletException;
import javax.servlet.http.Cookie;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession; public class SessionDemo1 extends HttpServlet { public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
HttpSession session = request.getSession();
session.setAttribute("data", "abc");
String sessionid = session.getId();
Cookie cookie = new Cookie("JSESSIONID",sessionid);
cookie.setMaxAge(3600);
cookie.setPath("/test");
response.addCookie(cookie);
} public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
doGet(request,response);
} }
package com.yyz.session; import java.io.IOException;
import java.io.PrintWriter; import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession; public class SessionDemo2 extends HttpServlet { public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
HttpSession session = request.getSession();
String data = (String)session.getAttribute("data");
System.out .println(data);
} public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
doGet(request,response);
} }
IE禁用Cookie后的session处理
session对象的创建和销毁时机
用户第一次request.getSession时创建
session对象默认30分钟没有使用,则服务器会自动销毁session,
用户在web.xml文件中手工配置session的失效时间
用户可以手工调用session.invalidate方法,摧毁session
session常见应用
会话—session的更多相关文章
- 简单PHP会话(session)说明
现在程序员愈发的不容易了,想要精通,必然要寻本溯源,这其实与目前泛滥的愈发高级的语言以及众多的框架刚好相反,因为它们在尽可能的掩盖本源使其简单,个人称之为程序员学习悖论. 注:作者接触web开发和ph ...
- http 会话(session)详解
会话(session)是一种持久网络协议,在用户(或用户代理)端和服务器端之间创建关联,从而起到交换数据包的作用机制 一.查看session id 可利用相关工具,比如firebug,httpwatc ...
- Tensorflow会话Session
转载自: http://blog.csdn.net/Hanging_Gardens/article/details/72784392 https://www.cnblogs.com/hypnus-ly ...
- 网络基础 http 会话(session)详解
http 会话(session)详解 by:授客 QQ:1033553122 会话(session)是一种持久网络协议,在用户(或用户代理)端和服务器端之间创建关联,从而起到交换数据包的作用机制 一. ...
- Java通过遍历sessionId获取服务器所有会话session
Servlet2.1之后不支持SessionContext里面getSession(String id)方法,也不存在遍历所有会话Session的方法.但是,我们可以通过HttpSessionList ...
- jfc在jsp页面画图,不将图片存在服务器端,只存入会话session(可用)
jfc在jsp页面画图,不将图片存在服务器端,只存入会话session.其中主要用到jfc的一个servlet类. <%@ page contentType="text/html;ch ...
- Oracle数据库的连接模式connection Mode、连接connection与会话session
数据库的连接模式Connection Mode: Dedicated Server Mode(专有模式) 当用户发出请求时,如远程的client端通过监听器连接数据库上,ORACLE的服务器端会启用一 ...
- MyBatis之会话Session原理
MyBatis 之会话 Session 执行逻辑 1.SQL 会话工厂构建器类 SqlSessionFactoryBuilder 的 build 方法用于构建 SqlSessionFactory 类的 ...
- 使用SpringSession管理分布式系统的会话Session
在我方供应链项目分布式部署的环境下,需要在统一网关服务中管理访问的Session,即无论访问请求路由到哪一个网关服务环境,使用的都是相同的HttpSession,这样就保证了在用户登录之后,能够使用统 ...
- WCF会话(Session)与实例(Instance)管理
一.理解Session 1.Session的作用:保留Client和Service之间交互的状态,确保Client与Service之间交互唯一性(SessionId),即:多个Client同时访问Se ...
随机推荐
- access数据库密码破解
根据C语言教学书上的示例编写,主要破解access的密码,通过异或算法,支持access2000和access2003,其他版本的没经过测试,下面是具体代码: #include <stdio.h ...
- 凯尔卡C68全球版汽车电脑诊断仪
产品简介: C68汽车故障诊断仪是凯尔卡公司新推出的一款集经济.简约.稳定.耐用于一体的汽车诊断设备, 该产品采用了最新的智能移植技术,集成度高:C68车型覆盖广,测试功能强大.数据准确等优点, 是目 ...
- Java Web系统经常使用的第三方接口
1. Web Service 接口 1.1 接口方式说明和长处 在笔者的开发生涯中,当作为接口提供商给第三方提供接口时,以及作为client去调用第三方提供的接口时,大部分时候都是使用 Web Se ...
- oc-16-set,get方法
S.h #import <Foundation/Foundation.h> /** 解决方案: 1.不用@public修饰 2.我们对象有访问和设置成员变量的两种操作 1>设置值 p ...
- BIOS 深入学习 转
http://blog.csdn.net/lightseed/article/category/547391
- 关于egg的压缩测试报告
167274doc 单字分词 全压缩 时间 real 15m58.464suser 13m52.157ssys 2m3.445s 空间 tmpfs 12G 1.5G 11G 13% /ape ...
- 40多个关于人脸检测/识别的API、库和软件
英文原文:List of 40+ Face Detection / Recognition APIs, libraries, and software 译者:@吕抒真 译文:链接 自从谷歌眼镜被推出以 ...
- 索引节点inode
在Linux的文件系统中,索引节点是文件的标识,并且这个值是唯一的,两个不同的文件的索引节点值是不同的,索引节点相同的文件它们的内容是相同的,仅仅文件名不同.修改两个索引节点值相同的文件中的一个文件, ...
- nodejs配置与入门
Node.js 笔记(一) nodejs.npm.express安装 http://blog.csdn.net/haidaochen/article/details/7257655 Windows平台 ...
- HTTP/HTTPS自动加密上网方案
方案介绍 涉及到的软件 BIND: 一个流行的域名解析服务器,我们可以设置哪些域名需要走加密线路. Stunnel: 使用TLS对tcp协议进行加密,也就是对tcp建立一条加密线路. SNI Prox ...