![](https://img-blog.csdnimg.cn/20190530144520164.jpeg?x-oss-process=image/resize,m_fixed,h_224,w_224)
JAVA WEB
JAVA WEB项目开发
NullPointerExcept
这个作者很懒,什么都没留下…
展开
-
从Header中X-Forwarded-For获取的IP一定是真实IP吗?
前言在实际项目中,用户ip的获取很重要。通过报障用户的ip来快速定位用户的请求日志,还可以通过ip访问频率来进行防盗链处理。在有些项目中,比如之前我们说过的升级,通过用户ip尾号进行一部分用户的灰度升级,还比如通过ip来区分用户的地域,进行个性化的推荐等。一般获取ip的方式。都是通过Header中的X-Forward-For、X-Real-IP或Remote addr等属性获取,但是如果确保获...原创 2019-05-31 14:59:21 · 7968 阅读 · 1 评论 -
Interceptor、Filter、Servlet有什么区别?执行顺序是什么?
前言JAVA WEB项目中,Interceptor和Filter都拦截并处理请求,都是一种面向切面的编程思想,但是他们有什么区别呢?一个工程中有很多Interceptor和Filter,他们执行顺序如何?与Servlet又有什么区别呢?本篇文章为你解密!过滤器(Filter)我们知道Filter是配置在web.xml时,比如配置如下面一段字符编码Filter:<...原创 2019-05-30 14:43:24 · 1500 阅读 · 0 评论 -
Cookie->Session->Token的发展旅程(二)
前言上一篇讲了为了维持HTTP协议的状态,采用了Cookie与Session机制,但是这两种机制都有自己的局限性。Cookie保存在客户端有可能被篡改,而且浏览器可以手工禁止Cookie。Session对每个用户产生一个SessionId,可以通过url或者header传递。但是Session存储在服务器端的内存中,当数据量大的时候容易发生OOM,而且不利于扩展,从一台机器扩展到两台时,就需要...原创 2019-05-29 15:57:21 · 214 阅读 · 0 评论 -
Cookie->Session->Token的发展旅程(一)
前言JAVA WEB项目可分为无状态与有状态。一个商城,用户添加购物车或者下订单这种操作,都是有状态的,服务器为了区分不同用户的操作,需要记录一些特殊的信息。当用户再次访问时,携带这些信息,服务器就可以区分出用户做了哪些操作。从最早的Cookie到后来的Session,再到后来的Token,本文带你了解这段发展旅程。Cookie概念你有没有碰到过这种情形,之前在搜索引擎搜索过一些商品,...原创 2019-05-29 15:53:31 · 280 阅读 · 0 评论