方法一:
纯前台,不涉及后台操作。
直接在jsp页面中需要显示IP的地方使用
<%=request.getRemoteAddr() %>即可显示当前IP。
通过代理访问的方式没法获得IP。
方法二:
结合后台,使用参数方式在前台显示IP。
在后台的doGet()或者doPost()代码中,使用一下方式:
//后台代码
doGet(HttpServletRequest request){
String user_ip = request.getRemoteAddr();
request.setAttribute("userIP", user_ip);
}前台,在需要显示IP的地方使用 ${userIP},即可。
方法三:
网传很靠谱的办法,但是网上的代码都有错。
<%!public String getIpAddr(HttpServletRequest request) {
String ip = request.getHeader("x-forwarded-for");
if(ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) {
ip = request.getHeader("Proxy-Client-IP");
}
if(ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) {
ip = request.getHeader("WL-Proxy-Client-IP");
}
if(ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) {
ip = request.getRemoteAddr();
}
return ip;
}%>然后在需要显示IP的地方使用 <%= getIpAddr(request)%> 即可。(网上的代码多了个;,出不来效果)。
本文介绍了三种在网页中获取客户端IP地址的方法:纯前台、结合后台和利用HTTP头信息。详细步骤包括直接使用JSP代码、后台设置及通过HTTP头获取IP。注意避免代理访问的IP获取问题。
8543

被折叠的 条评论
为什么被折叠?



