zoukankan      html  css  js  c++  java
  • request获取当前用户

    1、
    request.getRemoteUser();//获取当前缓存的用户,比如Spring Security做权限控制后就会将用户登录名缓存到这里 request.getRemoteAddr();//获取客户端IP,需要注意的是获取到的是直接面向的IP地址,并不是经过代理等处理的原始地址

    request.getRemotePort();//获取服务端访问端口

    request.getRemoteHost();//获取服务端地址

    即当前路径为 request.getRemoteHost()+”:”+request.getRemotePort();
    2、getRemoteAddr()与 getRemoteHost()的区别小结

    getRemoteAddr():获得客户端的IP地址
    getRemoteHost():获得客户端电脑的名字,若失败,则返回客户端电脑的IP地址

    InetAddress ia = InetAddress.getLocalHost();

    String iad = ia.getHostAddress();//主机IP
    String ias = ia.getHostName();//主机名

    请问我在JSP页面中使用如下语句:
    System.out.println(“request.getRemoteAddr(): “ + request.getRemoteAddr());
    System.out.println(“request.getRemoteHost(): “ + request.getRemoteHost());
    得到的结果相同(局域网内试验的结果)。
    那么getRemoteAddr()和getRemoteHost()到底有什么区别?

    前一个是获得客户端的ip地址
    后一个是获得客户端的主机名
    所以用前一个。

    使用request.getRemoteAddr()取得client的ip有問題

    request.getRemoteAddr()可以取得用戶端ip ,但我試了的結果是 0:0:0:0:0:0:0:1 ,請問是哪裡出了問題,要如何解決呢?謝謝各位回答。

    这可能是由于你并没有连入互联网或局域网没有获得ip,也有可能是你的上网的方式有问题,我也曾经出过这样的问题,不过换到公司使用局域网测试ip就显示出来了

    在servlet中怎样能取到真实的客户端ip地址?
    如果客户端来自服务器以外的网段,request.getRemoteAddr得到的只是那个客户端网关(代理)的ip,没有办法取到真实的客户端ip吗?

    当用户使用代理或者是局域网访问你的应用程序,你用request.getRemoteAddr()方法返回的是代理的地址或是局域网网关的地址.
    request.getRemoteAddr()只能获取第一层,如果获取的地址是内网地址,可能是路由器中转了

    参考博客:https://www.jb51.net/article/21498.htm

  • 相关阅读:
    hdu 5524 Subtrees 递推
    一些数论函数
    hdu 5480 Conturbatio (前缀和)
    hdu 5479 Scaena Felix (好坑的简单题)
    hdu 5465 Clarke and puzzle(树状数组 或 前缀和 + Nim游戏)
    uva 10534 Wavio Sequence(LIS)
    MFC简单绘制安卓机器人
    解决kubuntu(KDE4.8.5桌面环境)找不到中文语言包
    Windows系统完全退出VMware方法
    【VC6.0】getline需要输入2次回车才会结束的BUG修复方法
  • 原文地址:https://www.cnblogs.com/ming-blogs/p/10288672.html
Copyright © 2011-2022 走看看