在java web中怎么用java代码获取访问者的IP,同时根据访问者的IP判断他是属于那个城市

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在java web中怎么用java代码获取访问者的IP,同时根据访问者的IP判断他是属于那个城市相关的知识,希望对你有一定的参考价值。

参考技术A 举个例子,假设服务器端运行的是servlet,客户端(浏览器)发送url到服务器,经过解析,服务器找到并运行相应的servlet程序,在servlet程序中可以接受到用户提交的信息,比如用户提交方式是Get方式,则servlet调用其doGet方法,在doGet方法中,可以通过request获取用户提交的数据(包括ip)
protected void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException
String ip = requset.getRemoteAddr();//获取客户端ip


获得了ip后就可以查询ip所属地址,可以登录http://www.ip138.com/
若要自己编写软件查询,就要连接数据库。

java怎么取到web服务的根路径

java获取根路径有两种方式:

1)在servlet可以用一下方法取得:
request.getRealPath(“/”)
例如:filepach = request.getRealPath(“/”)+”//upload//”;
2)不从jsp,或servlet中获取,只从普通java类中获取:
String path = getClass().getProtectionDomain().getCodeSource().getLocation().getPath();
SAXReader() saxReader = new SAXReader();
if(path.indexOf(“WEB-INF”)>0)
path = path.substring(0,path.indexOf(“/WEB-INF/classes”)+16);
// ‘/WEB-INF/classes’为16位
document = saxReader.read(path+filename);
else
document = saxReader.read(getClass().getResourceAsStream(filename));
参考技术A Java取得web工程目录获取方法:
1.可以在servlet的init方法里
String path = getServletContext().getRealPath("/");
这将获取web项目的全路径
例如 :E:\eclipseM9\workspace\tree\
tree是web项目的根目录
2.也可以随时在任意的class里调用:
this.getClass().getClassLoader().getResource("/").getPath();
这将获取到classes目录的全路径
例如 : E:\eclipseM9/workspace/tree/WEB-INF/classes/
这个方法也可以不在web环境里确定路径。
参考技术B 右键点击项目名,点最后一个选项,选path就能看到路径 参考技术C request.getPath();

貌似这个,反正样子差不多 你找找看 (response.getPath())
参考技术D jsp中,request.getContextPath()

以上是关于在java web中怎么用java代码获取访问者的IP,同时根据访问者的IP判断他是属于那个城市的主要内容,如果未能解决你的问题,请参考以下文章

怎么用java获取cookie

java中EL表达式怎么用

java web项目,修改浏览器访问地址

java web项目 相对路径怎么写

用java怎么编写小程序 微信小程序常见使用“MINA”框架是指什么

java怎么取到web服务的根路径