<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<%@ taglib uri="http://www.opensymphony.com/sitemesh/decorator" prefix="decorator" %>
<%@ taglib uri="http://www.opensymphony.com/sitemesh/page" prefix="page" %>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/fmt" prefix="fmt"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/functions" prefix="fn"%>
<%@ page import="java.util.Enumeration" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
</head>
<body>
<%
// 헤더 전체정보 보기
Enumeration<String> em = request.getHeaderNames();
while(em.hasMoreElements()){
String name = em.nextElement() ;
String val = request.getHeader(name) ;
out.println("<p>" + name + " : " + val + "</p>") ;
}
%>
</body>
</html>
위와 같이 페이지를 생성하면 아래와 같은 결과를 가져올 수 있습니다.
이 중에서 첫 번째로 중요한 부분은
<%@ page import="java.util.Enumeration" %>
위와 같이 해더 정보의 key들이 담겨있는 Enumeration을 파라미터로 받기 위하여 해당 jsp로 import를 해야 합니다.
<%
// 헤더 전체 정보 보기
Enumeration<String> em = request.getHeaderNames();
while(em.hasMoreElements()){
String name = em.nextElement() ;
String val = request.getHeader(name) ;
out.println("<p>" + name + " : " + val + "</p>") ;
}
%>
이후에 body에서 위와 같이 request를 통해 header key 목록을 받은 후, loop를 통해,
request.getHeader(key)
를 통하여 값을 반환받을 수 있습니다.
위 내용에서 보면 key 목록으로
host, coneection, pragma, cache-congtrol, sec-ch-ua,... 등을 받아서
request.getHeader를 통해
localhost:8080, keep-alive, no-cache, "Google Chrome... 등의 값을 추출했음을 확인 가능합니다.
이 중에서 필요한 게, host와 cookie라고 한다면 아래와 같은 소스로 굳이 Enumeration과 loop를 통하지 않고 직접 조회도 가능합니다.
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<%@ taglib uri="http://www.opensymphony.com/sitemesh/decorator" prefix="decorator" %>
<%@ taglib uri="http://www.opensymphony.com/sitemesh/page" prefix="page" %>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/fmt" prefix="fmt"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/functions" prefix="fn"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
</head>
<body>
<%
// 헤더 host 보기
String host = request.getHeader("host");
out.println("<p>host : " + host + "</p>") ;
// 헤더 Cookie 보기
String cookie = request.getHeader("cookie");
out.println("<p>cookie : " + cookie + "</p>") ;
%>
</body>
</html>
'개발 창고 > Web' 카테고리의 다른 글
PDF 이미지를 BASE64 파일로 저장 (0) | 2022.11.29 |
---|---|
[Javascript] JSON Object - Key 개수 구하기 (0) | 2022.11.07 |
Navigation - GNB, LNB, SNB, FNB (0) | 2022.10.14 |
[JSTL] 랜덤 숫자 변수 설정하기 (0) | 2022.10.14 |
[CSS] 내부 border 설정하기 (0) | 2022.10.10 |