刚才网上浏览到一个挺奇怪的问题
request.getRemoteAddr()获取的值为0:0:0:0:0:0:0:1,
这是为什么呢,
照道理讲,
应该是127.0.0.1才对
request.getRemoteAddr()获取的值为0:0:0:0:0:0:0:1,
这是为什么呢,
照道理讲,
应该是127.0.0.1才对
各位研究一下吧
request.getRemoteAddr() 获取的值为0:0:0:0:0:0:0:1的原因及解决办法
最近在进行web开发时,在jsp页面获取服务器ip时,遇到了request.getRemoteAddr()获取的值为0:0:0:0:0:0:0:1,这是为什么呢,照道理讲,应该是127.0.0.1才对,为什么这个获取的值变成了ipv6了呢,而且我发现这种情况只有在服务器和客户端都在同一台电脑上才会出现(例如用localhost访问的时候才会出现),后来上网查了查原因,原来是/etc/hosts这个东西作怪(在windows上应该是C:\Windows\System32\drivers\etc\hosts这个文件),只需要注释掉文件中的 # ::1 localhost 这一行即可解决问题。另外localhost这个文件很有用,这里你可以添加自己的条目,例如添加 192.168.0.212 myweb 这样子,在浏览器中原来只能使用192.168.0.212来访问的,并可以使用myweb来进行替换。
如果还不能解决,本机访问的时候用127.0.0.1或本机ip代替localhost即可解决
request.getLocalAddr()
获取本机的ip地址
得到的数据是:127.0.0.1
request.getContextPath()
可返回站点的根路径。
request.getContextPath()得到项目的名字,如果项目为根目录,则得到一个""即空的字条串, 如果项目为abc, <%=request.getContextPath()% > 将得到/abc,服务器端的路径则会自动加上, <a href="XXXX.jsp"> 应该就是指当前路径下的这个xxx.jsp页面,有时候也可以在head里设置html:base 来解决路径的问题,不过用的最多的还是request.getContextPath。 另外发现个文档很不错
request.getRealPath()
获得工程文件的实际物理路径。