request应用:在JSP页面显示访问者IP

方法一:

纯前台,不涉及后台操作。

直接在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)%> 即可。(网上的代码多了个;,出不来效果)。

你可能感兴趣的:(request应用:在JSP页面显示访问者IP)