理解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/ | |||||||||||||