前几天写过一个基于tomcat发邮件修改密码的功能,大致是这样:
点击修改密码按钮就发送一封邮件去指定账户的邮箱,邮箱里有个超链接和验证码,超链接打开进入修改密码页面。之前能用,但是今天我的笔记本打开了猎豹免费wifi,造成有两个网卡都被激活,如下图:
发给邮箱的超链接的ip地址是通过InetAddress.getLocalHost().getHostAddress()获取,此时得到的是专用网络的ip地址,而我的tomcat是在公用网络上运行的,两个ip不一致,此超链接无法跳转到修改密码页面。然后我直接写了一次测试类发现,在我笔记本上用这个方法获取的ip地址为免费wifi激活的专有网络地址,把免费wifi关掉之后就能取到公用网络即(以太网)的ip地址。
import java.net.InetAddress;
import java.net.NetworkInterface;
import java.net.UnknownHostException;
im