요청 객체는 JSP에서 생성 된 서블릿 메소드에 Java 인수로 전달됩니다. 그 논쟁의 이름은 ... 기다려 ... request
.
그래서 JSP에 내장 된 스크립틀릿에서이를 참조 할 수 있어야합니다. 예 :
<%
InetAddress addr = request.getRemoteAddr();
// blah blah blah
%>
JSP에서 이러한 종류의 작업을 수행해야하는지 여부는 논쟁의 여지가 있습니다. 일반적으로 JSP는 만 출력 형식 지정에 사용해야하는 "모범 사례"로 받아 들여집니다. 웹 애플리케이션의 비즈니스 로직은 컨트롤러 서블릿에 있어야하며, 그런 다음 JSP 서블릿으로 전달되어 HTML (또는 무엇이든)을 생성해야합니다.
비즈니스 로직을 JSP에 넣으려면 스크립트 릿릿을 유지하기가 어려워지는 경향이 있습니다. 인 경우의 경우 걱정할 필요가 없습니다. 엔지니어링 측면에서 선호되는 접근법은 태그와 JSP 표현 언어를 사용하는 것입니다.)
마지막으로 getRemoteAddr()
에 의해 반환 된 IP 주소가 실제 클라이언트 IP 주소가 될 것이라고 보장 할 수 없습니다. 프록시의 주소 일 수도 있고 심지어는 완전한 제조 일 수도 있습니다.
보통 호스팅 회사에서 이러한 기능을 제공합니다. – adarshr
선택한 서블릿 컨테이너가 모든 클라이언트 액세스를 기록합니다. 프로그래밍 방식으로 IP를 가져 오려면 [ServletRequest.getRemoteAddr()] (http://docs.oracle.com/javaee/6/api/javax/servlet/ServletRequest.html#getRemoteAddr%28%29)를 사용하십시오. –
안녕하세요, API 메소드가 재미있어 보였습니다. 실제로 jsp 페이지에서 요청이 전송되는 내 서블릿에서이를 사용했습니다. 그러나 여전히 어떤 가치도 보이지 않습니다. 이 목적으로 request.getParameter 메서드()를 사용해야합니까, 그렇다면 어떻게합니까? – Prateek