当前位置:首页 » 云服务器 » jsp获取服务器地址

jsp获取服务器地址

发布时间: 2023-03-26 18:26:08

① jsp页面中怎么获取上传到tomcat服务器中的文件地址,我后台上传的图片,在前台要动态获取图片地址并显示

数据库中查出来然后返回到jsp页面用el表达式可以获取,或者是struts标签也行1

java如何获取https协议的客户端ip地址

嗨 你好
据网上了解到:

在JSP里,获取客户端的IP地址的方法是:request.getRemoteAddr(),这种方法在大部分情况下都是有效的。但是在通过了Apache,Squid等反向代理软件就不能获取到客户端的真实IP地址了。
如果使用了反向代理软件,将http://192.168.1.110:2046/ 的URL反向代理为 http://www.javapeixun.com.cn / 的URL时,用request.getRemoteAddr()方法获取的IP地址是:127.0.0.1或192.168.1.110,而并不是客户端的真实IP。
经过代理以后,由于在客户端和服务之间增加了中间层,因此服务器无法直接拿到客户端的IP,服务器端应用也无法直接通过转发请求的地址返回给客户端。但是在转发请求的HTTP头信息中,增加了X-FORWARDED-FOR信息。用以跟踪原有的客户端IP地址和原来客户端请求的服务器地址。当我们访问http://www.javapeixun.com.cn /index.jsp/ 时,其实并不是我们浏览器真正访问到了服务器上的index.jsp文件,而是先由代理服务器去访问http://192.168.1.110:2046/index.jsp ,代理服务器再将访问到的结果返回给我们的浏览器,因为是代理服务器去访问index.jsp的,所以index.jsp中通过request.getRemoteAddr()的方法获取的IP实际上是代理服务器的地址,并不是客户端的IP地址。
于是可得出获得客户端真实IP地址的方法一:
public String getRemortIP(HttpServletRequest request) { if (request.getHeader("x-forwarded-for") == null) { return request.getRemoteAddr(); } return request.getHeader("x-forwarded-for"); }

可是当我访问http://www.5a520.cn /index.jsp/ 时,返回的IP地址始终是unknown,也并不是如上所示的127.0.0.1或192.168.1.110了,而我访问http://192.168.1.110:2046/index.jsp 时,则能返回客户端的真实IP地址,写了个方法去验证。原因出在了Squid上。squid.conf 的配制文件forwarded_for 项默认是为on,如果 forwarded_for 设成了 off 则:X-Forwarded-For: unknown
于是可得出获得客户端真实IP地址的方法二:
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; }

可是,如果通过了多级反向代理的话,X-Forwarded-For的值并不止一个,而是一串Ip值,究竟哪个才是真正的用户端的真实IP呢?
答案是取X-Forwarded-For中第一个非unknown的有效IP字符串。
如:X-Forwarded-For:192.168.1.110, 192.168.1.120, 192.168.1.130, 192.168.1.100用户真实IP为: 192.168.1.110
希望可以帮到你的忙
祝你学习愉快

③ jsp中如何获取本机ip

<%@page
contentType="text/html;charset=gb2312"基带%><%InetAddress
addr
=
InetAddress.getLocalHost();
ip=addr.getHostAddress().toString;//获得本机IP
pageContext.setAttribute("ip",ip);%>//改锋御在下面引用核岩这个:${ip},就可以了</body

④ JSP获取客户端真实IP

String ip=(String)request.getRemoteAddr();自动获取登录这个jsp页面的ip地址

⑤ 怎样在jsp中记录访问网页的IP地址

假如用代理服务器,request.getRemoteAddr(); 只能得到代理服务器地址,以下方法是得到正确所有ip的方法
在jsp声明这个函数
<%!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;
}%>
嵌入jsp网页中,然后用<%String ip=getIpAddr(request);%>得到访问者ip
ip就是访问者的ip,你保存到数据库或者缓存中,就由你自己了

⑥ 如何得到一个jsp页面所在的项目的路径

在jsp和class文件中调用的相对路径不同。 在jsp里,根目录是WebRoot 在class文件中,根目录是WebRoot/WEB-INF/classes 当然你也可以用System.getProperty("user.dir")获取你工程的尺宏做绝对路径。

⑦ jsp怎么获取当前页面的url

当一个url过来时,如:http://localhost:8080/demo/hello.jsp,在hello.jsp页面,我们可以这样得到url:

代码如下:

<%Stringbasepath肆缓
=request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort();
StringPath=request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/"+request.getContextPath()+"/";
Stringuri=request.getRequestURI();
uri=uri.substring(uri.lastIndexOf("/")+1);//获得是最后的hello.jsp
%>

(上例中,Path路径就是图中的)

说明:

1.request.getContextPath() 返回站点的根目录,如:‘’/demo‘’

2.request.getRealpath("/")得到的是实际的物理路径,也就是你的项目所在服务器团雹档中的路径

3.request.getScheme() 等到的是协塌乱议名称,默认是http

4.request.getServerName() 得到的是在服务器的配置文件中配置的服务器名称 比如:localhost ..com 等等

5.request.getServerPort() 得到的是服务器的配置文件中配置的端口号 比如 8080等等

OK,满意的话请好评!O(∩_∩)O~

⑧ Linux下 jsp获取服务器ip地址

一样 跟windows 正常获取 没有任何区别

⑨ jsp运行显示找不到服务器ip地址怎么回事

jsp运行显示找不到服务器ip地址应该。进入路由器设置页面,在里找到<高级设置>,进入后选择<使用isp指定的ip和dns>,手工输入ip和dns数值。

⑩ 请问jsp页面如何获取服务器信息呢

request.getHeader(“User-agent”)返回客户端浏览器的版本号、类型

getHeader(String name):获得http协议定义的传送文件头信息,

request. getMethod():获得客户端向服务器端传送数据的方法有GET、POST、PUT等类型

request. getRequestURI():获得物唯发出请求字符串的客户端地罩闹培址

request. getServletPath():获得客户端所请求的脚弯握本文件的文件路径

request. getServerName():获得服务器的名字

request.getServerPort():获得服务器的端口号

request.getRemoteAddr():获得客户端的IP地址

request.getRemoteHost():获得客户端电脑的名字,若失败,则返回客户端电脑的IP地址

request.getProtocol():

request.getHeaderNames():返回所有request header的名字,结果集是一个Enumeration(枚举)类的实例

热点内容
apache加密 发布:2025-05-14 14:49:13 浏览:967
安卓什么软件苹果不能用 发布:2025-05-14 14:49:03 浏览:769
jsoupjava 发布:2025-05-14 14:38:00 浏览:885
影豹选哪个配置最好 发布:2025-05-14 14:28:50 浏览:255
定期预算法的 发布:2025-05-14 14:24:08 浏览:894
interbase数据库 发布:2025-05-14 13:49:50 浏览:691
微商海报源码 发布:2025-05-14 13:49:42 浏览:347
分布式缓存部署步骤 发布:2025-05-14 13:24:51 浏览:611
php获取上一月 发布:2025-05-14 13:22:52 浏览:90
购买云服务器并搭建自己网站 发布:2025-05-14 13:20:31 浏览:689