본문 바로가기
프로그래밍/Back-end

자바에서 서버의 호스트명을 가져오는 방법

by @GodWin 2024. 11. 13.

-

 


-
자바를 사용하다 보면, 서버의 호스트명(혹은 로컬 머신의 호스트명)을 가져와야 할 때가 있습니다.
그럴 때 사용할 수 있는 두 가지 방법을 소개할게요. 

바로 InetAddress 클래스와 System 클래스를 사용하는 방법입니다.


1. InetAddress 클래스를 이용한 호스트명 가져오기
가장 많이 사용되는 방법은 InetAddress 클래스를 이용하는 것입니다.
InetAddress는 네트워크 관련 정보를 다루는 클래스인데요, 이를 통해 로컬 시스템의 호스트명을 손쉽게 얻을 수 있습니다.

import java.net.*;

public class HostNameExample {
    public static void main(String[] args) {
        try {
            // 로컬 호스트의 InetAddress 객체 가져오기
            InetAddress inetAddress = InetAddress.getLocalHost();
            
            // 호스트명 출력
            String hostName = inetAddress.getHostName();
            System.out.println("Host Name: " + hostName);
        } catch (UnknownHostException e) {
            e.printStackTrace();
        }
    }
}




위 코드를 보면, InetAddress.getLocalHost()로 로컬 머신의 InetAddress 객체를 가져오고,
그 객체에서 getHostName() 메서드를 호출하여 호스트명을 출력하는 방식입니다.

이 방법은 간단하고 직관적이기 때문에 서버 환경에서 호스트명을 가져오고 싶을 때 유용하게 사용됩니다.


2. System 클래스를 이용한 호스트명 가져오기
두 번째 방법은 System 클래스를 활용하는 방법인데요,
이 방법은 조금 더 시스템 프로퍼티를 이용한 방식입니다.
System.getProperty()를 사용하면, 시스템에 설정된 다양한 정보를 가져올 수 있습니다.

public class HostNameExample {
    public static void main(String[] args) {
        // 시스템 속성에서 호스트명 가져오기
        String userName = System.getProperty("user.name");
        System.out.println("User Name: " + userName);
    }
}




이 코드는 호스트명이 아닌, 시스템의 사용자 이름을 가져오는 예제입니다.
하지만 System.getProperty()는 여러 시스템 프로퍼티를 가져올 수 있어, 호스트명 관련 정보는 InetAddress를 사용하는 것이 더 일반적이고 정확합니다.

호스트명을 정확하게 가져오려면 InetAddress.getLocalHost().getHostName()을 사용하는 것이 가장 좋습니다.
System.getProperty()를 사용하면 시스템 정보에 접근할 수 있지만, 호스트명을 얻는 데에는 InetAddress 방식이 더 적합합니다.

간단하게 말해, 서버의 호스트명을 가져올 때는 InetAddress 클래스를 활용하는 것이 더 확실하고 유용하답니다!


그럼 오늘은 서버의 호스트명(혹은 로컬 머신의 호스트명)을 구하는 방법에 대해서 알아보았습니다.
오늘도 즐거운 하루 되시길 바라겠습니다.

추가 참고 URL : 

https://logger-debug.tistory.com/entry/%EC%9E%90%EB%B0%94%EC%97%90%EC%84%9C-%EA%B2%BD%EB%A1%9C-%EB%8B%A4%EB%A3%A8%EA%B8%B0-File-Request-Session%EC%9D%84-%ED%99%9C%EC%9A%A9%ED%95%9C-%EA%B2%BD%EB%A1%9C-%EC%B2%98%EB%A6%AC-%EB%B0%A9%EB%B2%95

 

자바에서 경로 다루기: File, Request, Session을 활용한 경로 처리 방법

- -자바로 웹 애플리케이션을 만들다 보면, 파일 경로를 제대로 다루는 것이 정말 중요해요. 예를 들어, 파일 업로드나 다운로드를 구현하거나 웹 애플리케이션 내에서 특정 파

logger-debug.tistory.com