java filter 如何中获取请求地址

java filter 如何中获取请求地址,第1张

当我们访问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 {

}

}

展开

Request中的各种方法

2017年02月09日 10:36:55  现龙在田丶  阅读数:7250 标签:  java web  web  Request  更多

个人分类:  JAVA  Web  Request

原文地址:>

获取客户端的IP地址的方法是:requestgetRemoteAddr(),这种方法在大部分情况下都是有效的。但是在通过了Apache,Squid等反向代理软件就不能获取到客户端的真实IP地址了。如果使用了反向代理软件,用requestgetRemoteAddr()方法获取的IP地址是:127001或1921681110,而并不是客户端的真实IP。

经过代理以后,由于在客户端和服务之间增加了中间层,因此服务器无法直接拿到客户端的 IP,服务器端应用也无法直接通过转发请求的地址返回给客户端。但是在转发请求的>

以上就是关于java filter 如何中获取请求地址全部的内容,包括:java filter 如何中获取请求地址、Request中的各种方法、急求,请教下各位,为什么用request.getRemoteAddr()获取的Ip都不是真实的等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/10129002.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-05
下一篇 2023-05-05

发表评论

登录后才能评论

评论列表(0条)

保存