java获取项目所在服务器的ip地址和端口号(获取当前ip地址)

不传参数,直接通过ServletRequestAttributes获取当前项目所在服务器的端口号和ip地址

public static String getUrl(){
    ServletRequestAttributes requestAttributes = (ServletRequestAttributes) RequestContextHolder.getRequestAttributes();
    HttpServletRequest request = requestAttributes.getRequest();
    String localAddr = request.getLocalAddr();
    int serverPort = request.getServerPort();
    return "http://"+localAddr +":"+ serverPort;
}

通过 HttpServletRequest 传参数获取当前项目所在服务器的端口号和ip地址

 //获取本地服务器的ip地址和端口号
    public static String getHttpUrl(HttpServletRequest request){
        String localAddr = request.getLocalAddr();
        int serverPort = request.getServerPort();
        return "http://"+localAddr +":"+ serverPort;
    }

Java获取当前系统的ip地址,端口号从配置文件读取

@Value("${server.port}")
private int serverPort;

public String getUrl() {
    InetAddress address = null;
    try {
        address = InetAddress.getLocalHost();
    } catch (UnknownHostException e) {
        e.printStackTrace();
    }
    return "http://"+address.getHostAddress() +":"+this.serverPort;
}

tomcat服务器启动到时候获取服务器的ip和端口号,本方法在windows系统没问题,再Linux系统就不行了
    //获取本地服务器的ip地址和端口号

    public static String getUrl() {
        String serverIp = "";
        String serverPort = "";
        try {
            MBeanServer beanServer = ManagementFactory.getPlatformMBeanServer();
            Set<ObjectName> objectNames = beanServer.queryNames(new ObjectName("*:type=Connector,*"), 
            Query.match(Query.attr("protocol"), Query.value("HTTP/1.1")));
            serverIp = InetAddress.getLocalHost().getHostAddress();
            serverPort = objectNames.iterator().next().getKeyProperty("port");
        } catch (Exception e) {
            e.printStackTrace();
        }
        String ipAndPost = "http://" + serverIp + serverPort;
        return ipAndPost;
    }

获取服务器的ip+端口号

	public static String PathAddress() {
		String strResult = "";
		HttpServletRequest request = ((ServletRequestAttributes) RequestContextHolder
				.getRequestAttributes()).getRequest();

		StringBuffer strBuf = new StringBuffer();
		strBuf.append(request.getScheme() + "://");
		strBuf.append(request.getServerName() + ":");
		strBuf.append(request.getServerPort() + "");
		strBuf.append(request.getContextPath() + "/");
		strResult = strBuf.toString();// +"FHADMINM/";//加入项目的名称
		return strResult;
	}

  • 15
    点赞
  • 80
    收藏
    觉得还不错? 一键收藏
  • 6
    评论
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值