当我们访问indexjsp/时,其实并不是我们浏览器真正访问到了服务器上的indexjsp 文件,而是先由代理服务器去访问indexjsp。
代理服务器再将访问到的结果返回给我们的浏览器,因为是代理服务器去访问indexjsp的。
所以indexjsp中通过 requestgetRemoteAddr()的方法获取的IP实际上是代理服务器的地址,并不是客户端的IP地址。
于是可得出获得客户端真实IP地址 的方法:
public class Myfilter implements Filter {
public void destroy() {
}
private >
private >
public void doFilter(ServletRequest arg0, ServletResponse arg1, FilterChain arg2) throws IOException, ServletException {
request = (>
response = (>
Systemoutprintln(requestgetRequestURI());
Systemoutprintln("===ff===="+requestgetQueryString());
if("1"equals(requestgetRequestURI()substring(("/"+requestgetContextPath())length()))){
requestgetRequestDispatcher("/myjsp")forward(request, response);
return;
}
arg2doFilter(request, arg1);
}
public void init(FilterConfig arg0) throws ServletException {
}
}
我不太清楚你用的啥语言,但是你想,>
以上就是关于java filter 如何中获取请求地址全部的内容,包括:java filter 如何中获取请求地址、request.getRemoteAddr();拿到的是服务器的ip,还是我发送方主机的ip、等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)