Developer N
[Java] HttpServletRequest 사용하여 주소 정보 가져오기 본문
728x90
HttpServletRequest는 JSP 기본 내장 객체 중 가장 많이 사용되는 객체이다.
클라이언트로부터 서버로 요청이 들어오면 서버는 HttpServletRequest 를 생성하고
요청 정보에 있는 path로 매핑된 서블릿에 전달한다.
이렇게 전달된 내용들은 파라미터를 통해 Get과 Post 형식으로 클라이언트에게 전달한다.
이 HttpServletRequest 를 이용하면 서버단에서 주소 정보를 추출할 수 있다.
주소 정보를 추출할 때는 아래의 함수 등을 사용하면 된다.
- request.getScheme() : 웹 서버로 요청시, http, https 등을 반환
- request.getServerName() : 웹서버로 요청시, 서버의 도메인 이름을 반환 (예) localhost)
- request.getServerPort() : 웹서버로 요청시, 서버의 port 번호를 반환 (예) 8080)
- request.getMethod() : 웹서버로 요청시, 요청에 사용된 요청 방식(GET, POST, PUT 등)을 반환
- request.getQueryString() : 웹서버로 요청시, 요청에 사용된 QueryString을 반환
- request.getRequestURI() : 웹서버로 요청시, 요청에 사용된 URL로 부터 URI값을 반환 (프로젝트 + 파일경로 반환)
- request.getRequestURL() : 웹서버로 요청시, 요청에 사용된 URL 전체 경로를 반환
- request.getRemoteAddr() : 웹서버로 정보를 요청하는 웹 브라우저의 IP 주소를 반환
- request.getContextPath() : 해당 JSP 페이지가 속한 웹 어플리케이션의 콘텍스트 경로를 반환 (프로젝트 path만 반환)
- request.ServletPath() : 웹서버로 요청시, 요청에 사용된 URL, 요청에 사용된 URL에서 파일명만 반환
- request.getRealPath() : 웹서버로 요청시, 서버 또는 로컬 웹 어플리케이션의 절대경로를 반환
예를 들어 https://localhost:8080/test/test.jsp 라는 주소를 가진 웹페이지를 개발 중이라고 하자.
getScheme(), getServerName(), getServerPort(), getContextPath(), ServletPath() 함수를 조합해 사용하면
request.getScheme() 함수는 http 또는 https를 반환
request.getServerName() 함수는 localhost를 반환
request.getServerPort() 함수는 8080을 반환
request.getContextPath() 함수는 test를 반환
request.ServletPath() 함수는 test.jsp를 반환한다.
코드로 표현하면 아래와 같다.
String url = request.getScheme() + "://" + request.getServerName() + ":"
+ request.getServerPort() + request.getContextPath() + request.ServletPath();
// http://localhost:8080/test/test.jsp
728x90
'STUDY > JAVA | SPRING' 카테고리의 다른 글
[Spring Boot] 이클립스로 스프링부트 시작하기 (0) | 2023.02.28 |
---|---|
[Java] 로깅(logging) 사용 방법 (0) | 2023.02.27 |
[JPA] Pageable을 활용한 Pagination (0) | 2023.02.21 |
[Spring] ResponseEntity(HttpStatus) (0) | 2023.02.21 |
[JPA] JPA 사용법 (0) | 2023.02.21 |
Comments