java如何获取真实的IP
	
    
    
	如果服务器如果没有采用反向代理,而且客户端没有用正向代理的话,
                   那么可以获取客户端的真实IP地址request.getRemoteAddr()
如果服务器如果没有采用反向代理,而且客户端有用正向代理的话,
                  那么通过request.getRemoteAddr()获取客户端的IP地址是客户端 的代理服务器的地址,并不是客户端的真实地址,
                  而且如果客户端使用的是多层代理的话,服务器获得的客户端地址是客户端的最外围代理服务器的地址
如果服务器如果采用反向代理服务器,不管客户端采用的是何种方式访问服务器,
                  服务器通过request.getRemoteAddr()都将是反向代理服务器地址,
                     而且服务器采用的是多层反向代理服务器的话,服务器通过request.getRemoteAddr()
                     都将是服务器最里面反向代理服务器地址
                 服务器通过request.getHeader("x-forwarded-for") 来判断(包括多层反向代理服务器)等方式,
                     可以获得客户端地址,如果客户端没有使用代理的话,那么这个地址就是客户端的真实地址,
                                    如果客户端使用代理的话,不过这个地址并不是客户端的真实地址,是这个代理服务器的地址
   &
    
     
	
	
    
    
	相关文档:
        
    
    Java 数据流2(PipedInputStream,PipedOutputStream...)
2007-08-18  17:30
字节流的高级应用
?       管道流 
管道用来把一个程序、线程和代码块的输出连接到另一个程序、线程和代码块的输入。java.io中提供了类PipedInputStream和PipedOutputStream作为管道的输入/输出流
管道输入流作 ......
	
    
        
    
    1 背景
在我们的项目中,有时候在需要运行时获取一段脚本并执行其逻辑以灵活地实现业务需求。有人的第一想法就是脚本语言,我们当然可以在程序中内嵌一个Python解释器,然后在需要灵活变动的地方使用Python脚本实现我们的逻辑。但是这样做太“重量级”了,况且身为一个Java程序员,你不一定懂得Python的语法,又 ......
	
    
        
    
    8.8 this和super
         下面再来介绍一下this和super关键字的使用。在程序中通过使用this和super关键字,可以实现对于类内部很多内容方便的引用,也有助于理解面向对象的实现原理,更方便的理解面向对象技术的内部实现。
8.8.1 this关键字
     &n ......
	
    
        
    
     String fm = "46+5*(120-37)";
  String[] item = fm.split("[+-/*/()]");
  for(String it: item){
   System.out.print(it+"  ");
  }
正则表达式中 转义:  *  ==>   /* ......