접속자의 로그를 남기려고 HttpServletRequest 의 getRemoteAddr() 을 호출해보았다. public static String getClientIP(HttpServletRequest request) { ... return request.getRemoteAddr();} 내가 아는 장비에서 테스트 해보면 ... 뭔가 정확한 ip 주소가 나오지 않았다. 그 이유는 getRemoteAddr() 은 직접적인 IP만 반환하며, 프록시나 로드밸런서 또는 그 외 다른 네트워크 장비를 탄다면 실제 ip 주소를 얻기는 힘들다. 그래서 요청헤더의 정보를 받아 아래와 같이 실제 클라이언트의 ip 를 얻을 수 있다. import javax.servlet.http.HttpServletReque..
Oracle java jdk 계정 맨날 까먹어서 받기도 귀찮을 뿐더러 open-jdk 가 잘 활성화 된 탓에 굳이 오라클 jdk 를 설치 안해도 되는 상황이기에 open-jdk 를 버전과 OS 환경에 알맞춰 아주 쉽게 다운로드 받는 사이트를 다 아시겠지만 추천드린다. Deploy Open Source Backed by Enterprise Services | OpenLogic OpenLogic enabled us to avoid downtime, reduce organizational costs, maintain security compliance, and facilitate an overall source risk strategy. www.openlogic.com 위 오픈로직닷컴 사이트에 들어가셔서 Do..
리플렉션(Reflection) 을 사용하면 런타임 시점에 해당 클래스의 내부를 들여다 볼 수 있다. 클래스의 내부를 들여다 볼 수 있는 보안상의 이유로 코드작성을 지양하고는 있지만... 동적인 필드를 처리해야 하는 상황에서는 쉽게 접근 할 수 있는 방법이기도 하다. 사용자단에서 동적 key 를 가지는 Object 를 받아 엔티티 값을 set 해야 하는 상황이 생겨 여러 방법이 떠올랐으나 심플하게 적은코드로 처리 할까 하다가 리플렉션으로 처리하기로 했다. 데이터는 아래와 같이 동적 Object 형태로 만들어져 넘어왔다.