HttpSession的认识
package javax.servlet.http;
import java.util.Enumeration;
import javax.servlet.ServletContext;
public interface HttpSession {
public long getCreationTime();
public String getId();
public long getLastAccessedTime();
public ServletContext getServletContext();
public void setMaxInactiveInterval(int interval);
public int getMaxInactiveInterval();
@Deprecated
public HttpSessionContext getSessionContext();
public Object getAttribute(String name);
@Deprecated
public Object getValue(String name);
public Enumeration<String> getAttributeNames();
@Deprecated
public String[] getValueNames();
public void setAttribute(String name, Object value);
@Deprecated
public void putValue(String name, Object value);
public void removeAttribute(String name);
@Deprecated
public void removeValue(String name);
public void invalidate();
这是HttpSesion接口的代码,去掉了注释,方法没有几个,从中看setAttribute()的方法,看完这个方法就明白了,这是cookie的翻版。有几个弃用的方法,能用的方法并不是很多。
一般来说,HttpSession也是依赖于Cookie的,如果client禁用cookie,server没有办法记住状态。亲测了taobao.com,禁止cookie后,就没有状态了,虽然可能有其他方法,但是大厂都这么做,我也不用去想别的办法了。
Cookie和Session
web服务一个特点是提供个性化服务,为很多客户端提供服务,那么每个用户不同,服务自然不同,所以要记住用户及其状态,这也很多应用软件的通用功能。
由于http是无状态的,Session和Cookie是两个基本的技术,在书上看到Cookie,感觉自己根本不会使用Cookie技术。
首先,Cookie在lib的哪个包下?不知道吧,javax.servlet.http.Cookie,其次,Cookie有哪些方法和变量?你现在只知道其存储键值对,存在客户端。并且一个Cookie对象只能存一个键值对,这样说Cookie的特点就比较明白了。然后就可以使用Cookie写个案例了,一点点积累。
现在感觉对Cookie还是一知半解,到底在服务器和客户端是怎么传递的呢?还有类似的session,form等
接下来就要说说Session对象,javax.servlet.http.Session; java.util.Enumeration<java.lang.String> getAttributeNames(), void setMaxInactiveInteranal(int seconds);数据保存在服务器端,每个Session的唯一标识符发送至客户端。用户第一次访问时就自动为之创建session,所以无需new,并且浏览器请求时自动发送sessionID这样服务器就是知道是哪个session了
HttpSession的认识的更多相关文章
- java使用websocket,并且获取HttpSession,源码分析
转载请在页首注明作者与出处 http://www.cnblogs.com/zhuxiaojie/p/6238826.html 一:本文使用范围 此文不仅仅局限于spring boot,普通的sprin ...
- HttpSession与Hibernate中Session的区别
一.javax.servlet.http.HttpSession是一个抽象接口 它的产生:J2EE的Web程序在运行的时候,会给每一个新的访问者建立一个HttpSession,这个Session是用户 ...
- 被我们忽略的HttpSession线程安全问题
1. 背景 最近在读<Java concurrency in practice>(Java并发实战),其中1.4节提到了Java web的线程安全问题时有如下一段话: Servlets a ...
- HttpSession
(Cookie是用来设置浏览器保存数据的时间的: Session是只要浏览器不关闭,数据则会存在,一旦关闭浏览器数据即消失 ) 1. HttpSession概述 * HttpSession是由Java ...
- JSP中的 HttpSession、pageContext对象
pageContext 隐含对象对应javax.servlet.jsp.PageContext,都自动的被加入至pageContext中, 您可以由它来取得与JSP相关的对应之Servlet对象,像是 ...
- JavaWeb学习笔记——开发动态WEB资源(八)cookies和httpsession
会话: cookies: (1)cookies是WEB服务器发送到浏览器的简短文本信息 (2)cookies可以禁用 httpsession: 一次会话是从你打开浏览器开始到你关闭浏览器结束 提供一种 ...
- HTTP-Session工作机制
HTTP-Session将HTTP这种无状态协议通过session来保存状态.然而session通过记录服务器生成编号来标识协议,从而服务器就可以识别协议的状态. session保存服务器端, co ...
- HttpSession的线程安全问题及注意事项
摘自http://blog.csdn.net/java2000_net/article/details/2922357 HttpSession session = request.getSessio ...
- [原创]java WEB学习笔记47:Servlet 监听器简介, ServletContext(Application 对象), HttpSession (Session 对象), HttpServletRequest (request 对象) 监听器,利用listener理解 三个对象的生命周期
本博客为原创:综合 尚硅谷(http://www.atguigu.com)的系统教程(深表感谢)和 网络上的现有资源(博客,文档,图书等),资源的出处我会标明 本博客的目的:①总结自己的学习过程,相当 ...
- @SessionAttributes与HttpSession
SessionAttributes注解将model中与它同名的属性保存在HttpSession中. 在controller的方法执行完毕后处理SessionAttributes注解并保存的,是Hand ...
随机推荐
- openstack 之~云计算介绍
认识云计算 第一:什么是云计算? 对于云计算事什么有很多种解释方式 美国国家标准局(NIST):认为云计算是一种方便的模式,按需网络访问可配置的计算资源共享池(例如,网络.服务器.存储.应用和服务), ...
- urllib 报错 IOError: [Errno socket error] TLS/SSL connection has been closed (EOF) (_ssl.c:590)
解决方案: My evil workaround (don't do this in production!): import urllib2 #也可以是urllib import ssl ctx = ...
- c# mvc 封装返回对象
将所有返回JsonContent对象进行再次封装 public class ResultFilterAttribute : System.Web.Mvc.ActionFilterAttribute { ...
- mysql官方驱动jar
问题描述: 在mysql5.7版本,发现登录不了,找不到原因.有人说是驱动的问题,下载最新的驱动,问题得到解决! 问题解决: 下载最新mysql-jar驱动,传统版本最新mysql-jar驱动版本5. ...
- Asp.net的HttpContext.Current.Items详解
之前asp.net只是在使用Session来进行用户会话时的信息存储,甚至很少留意Session完整的类调用是HttpContext.Current.Sessoin.... 好吧,我还是处于只会固定写 ...
- IoC之AutoFac(四)——AutoFac在MVC中的使用
阅读目录 Mvc中使用Autofac 第一步:在mvc中添加dll文件,可以通过Nuget直接添加 第二步:在App_Start文件夹中添加一个AutofacConfig类 第三步:在Global.a ...
- js常用加解密函数汇总
1. JS自定义加密解密函数,及用法 function compile(code) { )+code.length); ;i<code.length;i++){ c+=String.fromCh ...
- why deep learning works
https://medium.com/towards-data-science/deep-learning-for-object-detection-a-comprehensive-review-73 ...
- numpy 随机产生数字
python数据分析的学习和应用过程中,经常需要用到numpy的随机函数,由于随机函数random的功能比较多,经常会混淆或记不住,下面我们一起来汇总学习下. 1 numpy.random.rand( ...
- extjs ajax 同步 及 confirm 确认提示框问题
//上传文件 uploadModel: function() { if(Ext.getCmp('exup').getForm().isValid()) { var ssn = this.upPanel ...