사용자의 ip 값과 세션값을 가져와서 db에 등록하려고 하는데
방법을 몰라서 찾아보았다 역시 친절하신 분들은 넘친다..!
나중에도 찾아볼 수 있게 기록!
Client ip 찾기
String ip = request.getHeader("X-Forwarded-For"); if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) { ip = request.getHeader("Proxy-Client-IP"); } if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) { ip = request.getHeader("WL-Proxy-Client-IP"); } if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) { ip = request.getHeader("HTTP_CLIENT_IP"); } if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) { ip = request.getHeader("HTTP_X_FORWARDED_FOR"); } if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) { ip = request.getHeader("X-Real-IP"); } if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) { ip = request.getHeader("X-RealIP"); } if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) { ip = request.getHeader("REMOTE_ADDR"); } if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) { ip = request.getRemoteAddr(); } if(ip.equals("0:0:0:0:0:0:0:1") || ip.equals("127.0.0.1")) { InetAddress address = InetAddress.getLocalHost(); ip = address.getHostName() + "/" + address.getHostAddress(); }
session id 찾기
session.getId();
vo에 저장해서 넘겨주면 끝!
session.setMaxInactiveInterval(시간초단위);
이렇게 하면 세션 시간을 설정할수 있음!
출처
https://itworldyo.tistory.com/188
https://khrdev.tistory.com/entry/Java%EB%A1%9C-Client-IP-%EC%B0%BE%EB%8A%94-%EB%B0%A9%EB%B2%95
https://mainpower4309.tistory.com/22