[Java] 모든 OS에서 서버 고정IP 조회하기

OS가 Window 인 경우에는
String hostAddr = java.net.InetAddress.getLocalHost().getHostAddress();
를 하면 IP를 알 수 있다.
하지만 UNIX나 LINUX에서 사용하게 되면
127.0.0.1 이거나 java.net.UnknownHostException 등의 에러가 나면서 제대로 IP를 조회할 수 없다.
OS나 장치에 상관없이 고정 IP를 가져오기 위해선
String hostAddr = ""; try { Enumeration<NetworkInterface> nienum = NetworkInterface.getNetworkInterfaces(); while (nienum.hasMoreElements()) { NetworkInterface ni = nienum.nextElement(); Enumeration<InetAddress> kk= ni.getInetAddresses(); while (kk.hasMoreElements()) { InetAddress inetAddress = kk.nextElement(); if (!inetAddress.isLoopbackAddress() && !inetAddress.isLinkLocalAddress() && inetAddress.isSiteLocalAddress()) { hostAddr = inetAddress.getHostAddress().toString(); } } } } catch (SocketException e) { e.printStackTrace(); }
이렇게 사용하면 된다. 덕분에 이중화 환경에서 실행되는 스케줄링을 하나의 IP에서만 사용할 수 있게 됐다.
'Backend > Java' 카테고리의 다른 글
[Java] 매개변수 ... / 점점점 / 자료형 점점점 / 자료형 ... / varargs / 가변인자 (0) | 2021.12.21 |
---|---|
[Java] 빌더패턴(Builder Pattern) 사용하기 (0) | 2021.10.06 |
[Java] JSTL 로 replace 사용하여 문자열 치환하기 (0) | 2021.08.30 |
[Java]JSP에서 Include 사용방법 (0) | 2021.01.19 |
[Java]Java와 JSTL로 절대경로, 상대경로, 웹페이지 경로 알아내기 (0) | 2021.01.18 |
댓글
이 글 공유하기
다른 글
-
[Java] 매개변수 ... / 점점점 / 자료형 점점점 / 자료형 ... / varargs / 가변인자
[Java] 매개변수 ... / 점점점 / 자료형 점점점 / 자료형 ... / varargs / 가변인자
2021.12.21//==생성 메서드==// public static Order createOrder(Member member, Delivery delivery, OrderItem…. orderItems){ Order order = new Order(); order.setMember(member); order.setDelivery(delivery); for (OrderItem orderItem : orderItems) { order.addOrderItem(orderItem); } order.setStatus(OrderStatus.ORDER); order.setOrderDate(LocalDateTime.now()); return order; } 공부를 하던중 createOrder라는 메서드에 OrderItem…. 을 받… -
[Java] 빌더패턴(Builder Pattern) 사용하기
[Java] 빌더패턴(Builder Pattern) 사용하기
2021.10.06빌더 패턴을 사용하기 전 어떠한 패턴들이 존재했는지? 1. 점층적 생성자 패턴 (Telescoping Constructor Pattern) 선택적 인자가 많은 객체를 생성할 때 '점층적 생성자 패턴'을 사용한다. 필요한 매개변수에 맞춰서 상황마다 생성자를 늘리는 방식 public class TelescopingConstructorPattern { private int userSeq; private String userName; private String userId; private int userAge; private String userEmail; public TelescopingConstructorPattern(int userSeq) { this.userSeq = userSeq; } public Te… -
[Java] JSTL 로 replace 사용하여 문자열 치환하기
[Java] JSTL 로 replace 사용하여 문자열 치환하기
2021.08.30프로젝트를 진행하면서 특수문자가 들어가는경우가 생긴다. 특수문자를 그대로 저장하거나 출력하면 내가 원하는대로 보여지지 않고 작동하지 않게되는데 특수문자 따옴표( ' ),쌍따옴표 ( " ),부등호 ( < , > )들이 특히 그렇다. 그래서 저장을 특수문자에서 코드표로 치환하여서 DB에 저장하고 저장한 데이터를 출력해서 보여줄때 다시 치환하여서 보여준다. https://dev.w3.org/html5/html-author/charref Character Entity Reference Chart dev.w3.org 위는 HTML 특수문자 코드표이다. 먼저 fn 태그스크립트를 추가한다. 사용 방법은 아래와 같다. ${fn:replace(대상, '대상 문자열', '변경할 문자열')} 실제 replace 처리 ${f… -
[Java]JSP에서 Include 사용방법
[Java]JSP에서 Include 사용방법
2021.01.19프로젝트를 진행하다 보면 header나 footer 또는 내비게이션 바 로그인 정보 , 메뉴 정보 등등 공통적으로 다수의 페이지에서 나와야하는 내용들이 있다 특정 부분을 JSP,HTML에 만들어두고 Include 해서 사용할 수 있다. include에는 2가지 방법이 존재한다 1. include directive (지시어) 2. include action (액션) 공통점은 동일하게 파일을 불러와서 사용 가능한 점이고 , 차이점으로는 지시어는 해당 소스를 포함시킨 후에 컴파일을 하지만 액션은 실행 시점에서 해당 파일을 수행하여 결과를 포함시킨다. include 지시어 사용 방법 --- 현재 파일 --- 가져올 파일의 경로를 넣어 다른 파일을 가져와 현재 파일에 뿌려준다. include 액션 사용 방법 --…
댓글을 사용할 수 없습니다.