Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/365.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 是否可能知道是谁通过使用Servlet获取请求来请求我的服务器?_Java_Jsp_Servlets - Fatal编程技术网

Java 是否可能知道是谁通过使用Servlet获取请求来请求我的服务器?

Java 是否可能知道是谁通过使用Servlet获取请求来请求我的服务器?,java,jsp,servlets,Java,Jsp,Servlets,我正在我的服务器中实现请求控制,我需要知道。。。不使用任何参数来标识客户端,是否可以知道谁通过GET请求请求我的服务器?如果可能的话,我会大大提高我的发展 例如:知道什么是IP、MAC地址、PC/设备名称和其他 感谢您的帮助。查看tomcat日志目录中的localhost\u access\u log.txt。这可能是在没有任何客户端代码的情况下可以做到的最好的方法。这将显示GET请求的原始IP地址。查看tomcat日志目录中的localhost\u access\u log.txt。这可能是在

我正在我的服务器中实现请求控制,我需要知道。。。不使用任何参数来标识客户端,是否可以知道谁通过GET请求请求我的服务器?如果可能的话,我会大大提高我的发展

例如:知道什么是IP、MAC地址、PC/设备名称和其他


感谢您的帮助。

查看tomcat日志目录中的localhost\u access\u log.txt。这可能是在没有任何客户端代码的情况下可以做到的最好的方法。这将显示GET请求的原始IP地址。

查看tomcat日志目录中的localhost\u access\u log.txt。这可能是在没有任何客户端代码的情况下可以做到的最好的方法。这将显示GET请求的原始IP地址。

在您可以使用的Servlet中

request.getRemoteAddr();

获取访问机器IP,然后将其存储在数据库中。

在您可以使用的Servlet中

request.getRemoteAddr();

获取访问机器IP,然后将其存储在数据库中。

因为您在servlet环境中,并引用:

  • ServletRequest.getRemoteAddr()
    :返回发送请求的客户端或最后一个代理的Internet协议(IP)地址
  • ServletRequest.getRemoteHost()
    :返回发送请求的客户端或最后一个代理的完全限定名

ServletRequest
类和
HttpServletRequest
()中有更多的参数,它们是传递给servlet服务方法的参数类。

因为您在servlet环境中,并且引用自:

  • ServletRequest.getRemoteAddr()
    :返回发送请求的客户端或最后一个代理的Internet协议(IP)地址
  • ServletRequest.getRemoteHost()
    :返回发送请求的客户端或最后一个代理的完全限定名

ServletRequest
类和
HttpServletRequest
()类中还有更多内容,它们是传递给servlet服务方法的参数类。

非常好!另一个问题。。。你知道如何获取这些信息并保存在我的数据库中吗?非常感谢你!非常好!另一个问题。。。你知道如何获取这些信息并保存在我的数据库中吗?非常感谢你!当我使用这些属性时,服务器会为我返回这些值:
http://localhost:8080/webi/ServletMain
远程地址:0:0:0:0:0:0:1
远程主机:0:0:0:0:0:1
远程端口:58938
远程用户:null
你知道为什么吗?发生这种情况是因为我在本地主机上进行了测试,但在对外交流中,它工作得“很好”。您知道为什么
RemoteUser
总是返回
null
getRemoteUser()
方法与servlet身份验证相关。如果已配置servlet身份验证,且当前用户已通过身份验证,它将返回一个值。当我使用此属性时,服务器将为我返回这些值:
http://localhost:8080/webi/ServletMain
远程地址:0:0:0:0:0:0:1
远程主机:0:0:0:0:0:1
远程端口:58938
远程用户:null
你知道为什么吗?发生这种情况是因为我在本地主机上进行了测试,但在对外交流中,它工作得“很好”。您知道为什么
RemoteUser
总是返回
null
getRemoteUser()
方法与servlet身份验证相关。如果您配置了servlet身份验证,并且当前用户已通过身份验证,则它将返回一个值。