JAVA获取IP地址
public static void main(String[] args) { try { // 获取计算机名 String name = InetAddressgetLocalHost()getHostName(); // 获取IP地址 String ip = InetAddressgetLocalHost()getHostAddress(); Systemoutprintln("计算机名:"+name); Systemoutprintln("IP地址:"+ip); } catch (UnknownHostException e) { Systemoutprintln("异常:" + e); eprintStackTrace(); } }
是否可以解决您的问题?
都有统一的格式的,如下:
MicrosoftSQLServerJDBCDriver(一般用来连接SQLServer2000)
驱动程序包名:msbasejarmssqlserverjarmsutiljar
驱动程序类名:commicrosoftjdbcsqlserver
JDBCURL:jdbc:microsoft:sqlserver://:
默认端口1433,如果服务器使用默认端口则port可以省略
MicrosoftSQLServer2005JDBCDriver
驱动程序包名:sqljdbcjar
驱动程序类名:commicrosoftsqlserverjdbc
JDBCURL:jdbc:sqlserver://:
默认端口1433,如果服务器使用默认端口则port可以省略
Oracle
OracleThinJDBCDriver
驱动程序包名:ojdbc14jar
驱动程序类名:Oraclejdbcdriver
JDBCURL:
jdbc:oracle:thin:@//:/ServiceName
或
jdbc:oracle:thin:@::
首先,在前端nginx上需要做如下配置:
location /
proxy_set_hearder host $host;
proxy_set_header X-forwarded-for $proxy_add_x_forwarded_for;
proxy_set_header X-real-ip $remote_addr;
};
nginx会在把请求转向后台real-server前把http报头中的ip地址进行替换;这样操作完成后,real-server也需要做一些操作;
public class ClientIPUtils {
/
在很多应用下都可能有需要将用户的真实IP记录下来,这时就要获得用户的真实IP地址,在JSP里,获取客户端的IP地
址的方法是:requestgetRemoteAddr(),这种方法在大部分情况下都是有效的。但是在通过了Apache,Squid等
反向代理软件就不能获取到客户端的真实IP地址了。
但是在转发请求的HTTP头信息中,增加了X-FORWARDED-FOR信息。用以跟踪原有的客户端IP地址和原来客户端请求的服务器地址。
@param request
@return
/
public static String getClientIp(HttpServletRequest request) {
String ip = requestgetHeader("x-forwarded-for");
//String ip = requestgetHeader("X-real-ip");
loggerdebug("x-forwarded-for = {}", ip);
if(ip == null || iplength() == 0 || "unknown"equalsIgnoreCase(ip)) {
ip = requestgetHeader("Proxy-Client-IP");
loggerdebug("Proxy-Client-IP = {}", ip);
}
if(ip == null || iplength() == 0 || "unknown"equalsIgnoreCase(ip)) {
ip = requestgetHeader("WL-Proxy-Client-IP");
loggerdebug("WL-Proxy-Client-IP = {}", ip);
}
if(ip == null || iplength() == 0 || "unknown"equalsIgnoreCase(ip)) {
ip = requestgetRemoteAddr();
loggerdebug("RemoteAddr-IP = {}", ip);
}
if(StringUtilsisNotBlank(ip)) {
ip = ipsplit(",")[0];
}
return ip;
}
}
requestgetHeader("REDIRECT_URL");
或试试
那在servlet里边或者action调用requestgetRequestURL()就是了。
如果是获得容器内部的请求URI:requestgetRequestURI(),两个方法挺象的。
0条评论