[JSP] request 기본 객체

request 기본객체

- JSP 에서 가장 많이 사용되는 기본객체, 웹 브라우저의 요청과 관련

- 웹 브라우저는 해당 웹 서버에 연결한 후 요청정보를 전송하는데, 이 요청정보를 제공하는 객체

기능

 

클라이언트 정보 및 서버정보 보기

- 클라이언트가 전송한 정보와 서버정보를 볼 수 있는 메소드 제공.

<body>
클라이언트IP = <%= request.getRemoteAddr() %> <br>
요청정보길이 = <%= request.getContentLength() %> <br>
요청정보 인코딩 = <%= request.getCharacterEncoding() %> <br>
요청정보 컨텐츠타입 = <%= request.getContentType() %> <br>
요청정보 프로토콜 = <%= request.getProtocol() %> <br>
요청정보 전송방식 = <%= request.getMethod() %> <br>
요청 URI = <%= request.getRequestURI() %> <br>
컨텍스트 경로 = <%= request.getContextPath() %> <br>
서버이름 = <%= request.getServerName() %> <br>
서버포트 = <%= request.getServerPort() %> <br>
</body>

본인 노트북으로 해당 JSP 페이지를 로드한 결과는 다음과 같다.

request 객체의 요청 파라미터 관련 메소드들

메소드명 리턴타입 설명
request.getParameter("color"); String (중요*)이름이 "color"인 파라미터의 값을 구한다. 존재하지 않을 경우 null을 리턴한다.
request.getParameterValue("colors"); String[] 이름이 "colors"인 모든 파라미터의 값을 배열로 가져온다. 존재하지 않을 경우 null을 리턴한다. 주로 checkbox에 사용.
getParameterNames() java.util.Enumeration 웹 브라우저가 전송한 파라미터의 이름 목록을 구한다.(잘안쓰임)
getParameterMap() java.util.Map 웹 브라우저가 전송한 파라미터의 맵을 구한다. 맵은 파라미터명, 값 쌍으로 이루어진다.(잘안쓰임)

 

요청헤더 정보 처리

- HTTP 프로토콜은 헤더 정보에 부가적인 정보를 담고 있음. 

- 브라우저 종류, 운영체제, 운영체제 버전 등

 

메소드명 리턴타입 설명
getHeader(String name) String 지정한 이름의 헤더값 리턴
getHeaders(String name) java.util.Enumeration 지정한 이름의 헤더 목록 리턴
getHeaderNames() java.util.Enumeration 모든 헤더의 이름 리턴
getIntHeader(String name) int 지정한 헤더의 값을 정수 값으로 리턴
getDateHeader(String name) long 지정한 헤더의 값을 시간 값으로 리턴, 이때 시간은 유닉스타임으로 가져온다.

코드 예제

<body>
	<%
		Enumeration headerenum = request.getHeaderNames();
		while(headerenum.hasMoreElements()){
			String headerName = (String)headerenum.nextElement();
			String headerValue = request.getHeader(headerName);
	%>
	<%= headerName %> = <%= headerValue %> <br />
	<%
		}
	%>
</body>

결과

 

댓글

Designed by JB FACTORY