理解Cookie和Session机制
http://www.importnew.com/18943.html
static final int DEFAULT_INITIAL_CAPACITY = 16这个是hasmmap默认的大小。 | ||||||||||||||
static final int MAXIMUM_CAPACITY = 1 << 30; hashmap最大的容量,也就是2的幂30。 | ||||||||||||||
static final floatDEFAULT_LOAD_FACTOR = 0.75f 负载因子,这里取了0.75似乎java的工程师认为,100个盒子在用了75个的状态下, | ||||||||||||||
既能保证get的速度,将collision降的比较低,又不会浪费太多的盒子,文献上说,这个值大概在2/3左右即可 | ||||||||||||||
JAVA开发 SESSION和COOKIE的关系 | http://blog.itpub.net/26770925/viewspace-1393608/ | |||||||||||||
Java详解Session和Cookie | http://blog.sina.com.cn/s/blog_4f925fc30100mo95.html | |||||||||||||
Cookie/Session机制详解 | http://www.open-open.com/lib/view/open1405483246415.html | |||||||||||||
JAVA开发 Servlet和Tomcat相关基础 | http://blog.itpub.net/26770925/viewspace-1392237/ | |||||||||||||
在JAVA中使用response.sendRedirect和使用RequestDispatcher.forward的区别 | ||||||||||||||
http://blog.itpub.net/26770925/viewspace-1392237/ | ||||||||||||||
HTTP协议 | http://xiebh.iteye.com/blog/334591 | |||||||||||||
Cookie深度解析 | http://blog.csdn.net/ghsau/article/details/20395681#comments | |||||||||||||
Cookie深度解析 | http://blog.csdn.net/ghsau/article/details/20395681#comments | |||||||||||||
Web协议(也就是HTTP)是一个无状态的协议(HTTP1.0) | ||||||||||||||
HTTP1.1版本是支持持久连接的 | ||||||||||||||
Cookie组成 | ||||||||||||||
cookie是由名称、内容、作用路径、作用域、协议、生存周期组成,另外还有个HttpOnly属性,HttpOnly属性很重要, | ||||||||||||||
如果您在cookie中设置了HttpOnly属性,那么通过js脚本(document.cookie)将无法读取到cookie信息,这样能一定程度上的防止XSS攻击, | ||||||||||||||
关于XSS可以看我之前的文章--XSS攻击及防御。Tomcat服务器设置的JSESSIONID就是HttpOnly的 | ||||||||||||||
1. cookie默认情况下作用域为当前域名 | ||||||||||||||
2. cookie作用域为父级域名时,所有子级域名都可以得到该cookie | ||||||||||||||
3. cookie不能跨二级域名设置 | ||||||||||||||
Cookie安全性 | ||||||||||||||
我们通常需要对cookie内容进行加密 | ||||||||||||||
重要的cookie数据需要设置成HttpOnly的,避免跨站脚本获取你的cookie,保证了cookie在浏览器端的安全性 | ||||||||||||||
设置cookie只作用于安全的协议(https),JavaEE中可以通过Cookie类的setSecure(boolean flag)来设置 | ||||||||||||||
设置后,该cookie只会在https下发送,而不会再http下发送,保证了cookie在服务器端的安全性,服务器https的设置可以参照该文章 | ||||||||||||||
共同父域下的单点登录 | http://blog.csdn.net/ghsau/article/details/20466351 | |||||||||||||
完全跨域的单点登录 | http://blog.csdn.net/ghsau/article/details/20545513 | |||||||||||||
Session深度解析 | http://blog.csdn.net/ghsau/article/details/13023425 | |||||||||||||
JavaEE 要懂的小事:三、图解Session(会话) | http://ifeve.com/javaee-3-session/ | |||||||||||||
通向架构师的道路(第二天)之apache tomcat https应用 | ||||||||||||||
http://blog.csdn.net/lifetragedy/article/details/7699236 | ||||||||||||||
并发编程网 - ifeve.com | http://ifeve.com/ | |||||||||||||
聊聊并发(一)——深入分析Volatile的实现原理 | ||||||||||||||
http://www.infoq.com/cn/articles/ftf-java-volatile/ | ||||||||||||||
一个广为人知但鲜有人用的技巧:对象池 | ||||||||||||||
http://www.infoq.com/cn/news/2015/07/ClojureWerkz | ||||||||||||||
深入理解Java内存模型(三)——顺序一致性 | ||||||||||||||
http://www.infoq.com/cn/articles/java-memory-model-3 | ||||||||||||||
servlet/filter/listener/interceptor区别与联系 | ||||||||||||||
http://www.cnblogs.com/doit8791/p/4209442.html | ||||||||||||||
web.xml 的加载顺序是:context- param -> listener -> filter -> servlet | ||||||||||||||
servlet,filter都是针对url之类的,而listener是针对对象的操作的,如session的创建,session.setAttribute的发生,在这样的事件发生时做一些事情 | ||||||||||||||
interceptor 拦截器,类似于filter,不过在struts.xml中配置,不是在web.xml,并且不是针对URL的,而是针对action,当页面提交action时,进行过滤操作 | ||||||||||||||
相当于struts1.x提供的plug-in机制,可以看作,前者是struts1.x自带的filter,而interceptor 是struts2 提供的filter | ||||||||||||||
与filter不同点: | ||||||||||||||
(1)不在web.xml中配置,而是在struts.xml中完成配置,与action在一起 | ||||||||||||||
(2) 可由action自己指定用哪个interceptor 来在接收之前做事 | ||||||||||||||
struts2中的过滤器和拦截器的区别与联系: | ||||||||||||||
(1)、拦截器是基于java反射机制的,而过滤器是基于函数回调的。 | ||||||||||||||
(2)、过滤器依赖与servlet容器,而拦截器不依赖与servlet容器。 | ||||||||||||||
(3)、拦截器只能对Action请求起作用,而过滤器则可以对几乎所有请求起作用。 | ||||||||||||||
(4)、拦截器可以访问Action上下文、值栈里的对象,而过滤器不能。 | ||||||||||||||
(5)、在Action的生命周期中,拦截器可以多次调用,而过滤器只能在容器初始化时被调用一次 | ||||||||||||||
Servlet 工作原理解析 | http://www.ibm.com/developerworks/cn/java/j-lo-servlet/ |