在jsp页面上获取本机的ip地址:request.getLocalAddr(),结果获取的地址为:0.0.0.0这是什么原因

在jsp页面上获取本机的ip地址:request.getLocalAddr(),结果获取的地址为:0.0.0.0这是什么原因,第1张

这样不行吗

InetAddress addr = InetAddressgetLocalHost();

String ip=addrgetHostAddress()toString();//获得本机IP

首先你肯定有一个表单form用于传递你的账户,假设表单把请求传给LoginServlet,(action="loginServlet")且表单中假设你输出id的那一行是这样写的:

<input

type="text"

id="username"

name="username"

size

=

"20">。

那么当表单提交(点击submit)之后,在LoginServletjava中的doPost函数中,

String

id=

requestgetParameter("username");

便可以获取JSP中的账号。

PS:如果用户输入的正确的密码,建议将id存入Session会话中,sessionsetAttribute("username",

id);

这样在整个项目生命周期内,在任何时间都可以获取到用户的:

String

anyWhere=

(String)sessiongetAttribute("username")。

JSP获取用户真实IP地址

(大致原理是这样,但我没有测试过。)

String strIP = "";

String strFF = requestgetHeader("X_Forwarded_For");

if(strFFequals("") || strFF"unknown")>=0 ){

strIP = requestgetLocalAddr();

} else if (strFFindexOf(",")>=0 ){

strIP = strFFsubstring(0, strFFindexOf(","));

} else if (strFFindexOf(";")>=0 ){

strIP = strFFsubstring(0, strFFindexOf(";"));

} else {

strIP = strFF;

}

strIP = strIPsubstring(0, 30)trim();

每登陆一次,用方法获得ip和时间,然后更新表

update

Tab

set

ip=

logintime=now()

,where

username=

基本就这样啊!

还是很简单的。

下面是一个工具类的 静态方法 获取 外网的真实IP ,

public static String getIpAddr(>

以上就是关于在jsp页面上获取本机的ip地址:request.getLocalAddr(),结果获取的地址为:0.0.0.0这是什么原因全部的内容,包括:在jsp页面上获取本机的ip地址:request.getLocalAddr(),结果获取的地址为:0.0.0.0这是什么原因、在jsp页面中如何获取到当前登录用户的角色id、在JSP中如何得到设置了代理服务器的客户端的真实IP等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/9430038.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-28
下一篇 2023-04-28

发表评论

登录后才能评论

评论列表(0条)

保存