Java 是否可能知道是谁通过使用Servlet获取请求来请求我的服务器?
我正在我的服务器中实现请求控制,我需要知道。。。不使用任何参数来标识客户端,是否可以知道谁通过GET请求请求我的服务器?如果可能的话,我会大大提高我的发展 例如:知道什么是IP、MAC地址、PC/设备名称和其他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。这可能是在
感谢您的帮助。查看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环境中,并引用:
:返回发送请求的客户端或最后一个代理的Internet协议(IP)地址ServletRequest.getRemoteAddr()
:返回发送请求的客户端或最后一个代理的完全限定名ServletRequest.getRemoteHost()
ServletRequest
类和HttpServletRequest
()中有更多的参数,它们是传递给servlet服务方法的参数类。因为您在servlet环境中,并且引用自:
:返回发送请求的客户端或最后一个代理的Internet协议(IP)地址ServletRequest.getRemoteAddr()
:返回发送请求的客户端或最后一个代理的完全限定名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身份验证,并且当前用户已通过身份验证,则它将返回一个值。