java如何获取真实的IP
如果服务器如果没有采用反向代理,而且客户端没有用正向代理的话,
那么可以获取客户端的真实IP地址request.getRemoteAddr()
如果服务器如果没有采用反向代理,而且客户端有用正向代理的话,
那么通过request.getRemoteAddr()获取客户端的IP地址是客户端 的代理服务器的地址,并不是客户端的真实地址,
而且如果客户端使用的是多层代理的话,服务器获得的客户端地址是客户端的最外围代理服务器的地址
如果服务器如果采用反向代理服务器,不管客户端采用的是何种方式访问服务器,
服务器通过request.getRemoteAddr()都将是反向代理服务器地址,
而且服务器采用的是多层反向代理服务器的话,服务器通过request.getRemoteAddr()
都将是服务器最里面反向代理服务器地址
服务器通过request.getHeader("x-forwarded-for") 来判断(包括多层反向代理服务器)等方式,
可以获得客户端地址,如果客户端没有使用代理的话,那么这个地址就是客户端的真实地址,
如果客户端使用代理的话,不过这个地址并不是客户端的真实地址,是这个代理服务器的地址
&
相关文档:
一:准备 www.savarese.org download
1. rocksaw-1.0.0-src.tar.gz
2. vserv-tcpip-0.9.2-src.tar.gz
二:编译源文件得到jar包 使用Ant
1. build vserv-tcpip-0.9.2-src
在vserv-tcpip-0.9.2目录下面建一个tests目录,然后在cmd窗口下进入 ......
1 背景
在我们的项目中,有时候在需要运行时获取一段脚本并执行其逻辑以灵活地实现业务需求。有人的第一想法就是脚本语言,我们当然可以在程序中内嵌一个Python解释器,然后在需要灵活变动的地方使用Python脚本实现我们的逻辑。但是这样做太“重量级”了,况且身为一个Java程序员,你不一定懂得Python的语法,又 ......
String fm = "46+5*(120-37)";
String[] item = fm.split("[+-/*/()]");
for(String it: item){
System.out.print(it+" ");
}
正则表达式中 转义: * ==> /* ......
转:http://www.ibm.com/developerworks/cn/java/j-jtp06197.html
2007 年 7 月 05 日
Java™ 语言包含两种内在的同步机制:同步块(或方法)和 volatile 变量。这两种机制的提出都是为了实现代码线程的安全性。其中 Volatile 变量的同步性较差(但有时它更简单并且开销更低),而且其使用也更容易出错。在这期的&nb ......
Abstractclass和interface是Java语言中对于抽象类定义进行支持的两种机制,正是由于这两种机制的存在,才赋予了Java强大的面向对象能力。abstractclass和interface之间在对于抽象类定义的支持方面具有很大的相似性,甚至可以相互替换,因此很多开发者在进行抽象类定义时对于abstractclass和interface的选择显得比较随意。其 ......