HTTP 헤더 정보와 관련된 메소드들

essential·2023년 7월 28일
0

JSP

목록 보기
6/21

HTTP 헤더 정보와 관련된 메소드들

리턴 타입메소드설명
StringgetHeader(String headerName)HTTP 요청 헤더에 headerName으로 지정된 이름으로 할당된 값을 리턴 한다. headerName으로 지정된 이름이 없을 경우 null을 리턴 한다.
EnumerationgetHeader(String headerName)headerName으로 지정된 이으롬으로 할당된 모든 값을 java.utilEnumeration 객체로 리턴한다.
EnumerationgetHeaderNames()HTTP 요청 헤더에 포함된 모든 헤더 이름을 java.util.Enumeration 객체로 리턴 한다.
inthetIntHeader(String headerName)headerName 헤더의 값을 int 타입으로 리턴 한다. 지정된 헤더값을 int 로 변환할 수 없을 경우에는 NumberFormatException이 발생하고 headerName 헤더가 없을 경우에는 -1 을 리턴 한다.

예제

requestTest2.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html>
<%@page import="java.util.Enumeration" %>
<html>
<head>
<meta charset="UTF-8">
<title>Request Test2</title>
</head>
<body>
<h1>헤더 정보 예제</h1>
<table border="1">
	<tr>
		<td>헤더이름</td>
		<td>헤더값</td>
	</tr>
	
<%
Enumeration e = request.getHeaderNames();
while(e.hasMoreElements()){
	String headerName=(String)e.nextElement();
	
%>
	<tr>
		<td><%=headerName %></td>
		<td><%=request.getHeader(headerName) %>
<%}%>
</table>
</body>
</html>

실행 시 나오는 헤더 정보 (쿠키에 세션 저장되는 거 확인)


쿠키, URL/URI, 요청 방식 관련된 메소드들

이런게 있다~

리턴 타입메소드명설명
Cookie[]getCookies()HTTP 요청 메세지의 헤더에 포함된 쿠키를 javax.servlet.http.Cookie 배열로 리턴한다.
StringgetServerName()서버의 도메인명을 문자열로 리턴한다
intgetServerPort()서버의 포트 번호를 int 형으로 리턴한다.
StringBuffergetRequestURL()요청 URL을 StringBuffer로 리턴 한다.
StringgetRequestURI()요청 URI를 문자열로 리턴한다.
StringgetQueryString()요청에 사용된 쿼리 문장을 문자열로 리턴 한다.
StringgetRemoteHost()클라이언트의 호스트 이름을 문자열로 리턴 한다.
StringgetRemoteAddr()클라이언트의 IP 주소를 문자열로 리턴한다.
StringgetProtocol()요청에 사용된 프로토콜 이름을 문자열로 리턴한다.
StringgetMethod()요청에 사용된 요청 방식(GET,POST 등)을 문자열로 리턴 한다.
StringgetContextPath()해당 JSP 페이지의 context 경로를 문자열로 리턴 한다.

예제

requestTest3.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>requestTest3</title>
</head>
<body>
<h1>쿠키 URL/URI, 요청 방식에 관련된 정보 예제</h1>
<table border="1">
	<tr>
		<td>쿠키정보</td>
<%
Cookie[] cookie=request.getCookies();
if(cookie==null){
%>
	<td>쿠키가 존재하지 않습니다</td>
<%
} else {
	for(int i=0;i<cookie.length;i++){
		%>
		<td><%=cookie[i].getName()%>(<%=cookie[i].getValue()%>)&bsp;&nbsp;</td>
		<%
	}
}
%>
	</tr>
	<tr>
		<td>서버 도메인명</td>
		<td><%=request.getServerName() %></td>
	</tr>
	<tr>
		<td>서버 포트번호</td>
		<td><%=request.getServerPort() %></td>
	</tr>
	<tr>
		<td>요청 URL</td>
		<td><%=request.getRequestURL() %></td>
	</tr>
	<tr>
		<td>요청 URI</td>
		<td><%=request.getRequestURI() %></td>
	</tr>
	<tr>
		<td>요청 쿼리</td>
		<td><%=request.getQueryString() %></td>
	</tr>
	<tr>
		<td>클라이언트 호스트명</td>
		<td><%=request.getRemoteHost() %></td>
	</tr>
	<tr>
		<td>클라이언트 IP 주소</td>
		<td><%=request.getRemoteAddr() %></td>
	</tr>
	<tr>
		<td>프로토콜</td>
		<td><%=request.getProtocol() %></td>
	</tr>
	<tr>
		<td>요청 방식</td>
		<td><%=request.getMethod() %></td>
	</tr>
	<tr>
		<td>컨텍스트 경로</td>
		<td><%=request.getContextPath() %></td>
	</tr>
</table>
</body>
</html>

실행 시 나오는 화면

  • URL 은 전체 경로
  • URI 는 http~8800 을 뺀 경로
profile
essential

0개의 댓글