JSP - request 내장객체

imjingu·2023년 9월 3일
0

개발공부

목록 보기
453/481

request

웹 브라우저를 통해 서버에 어떤 정보를 요청하는 것을 request라고 한다. 그리고 이러한 요청 정보는 request 객체가 관리한다.
JSP 에서 가장 많이 사용되는 기본객체, 웹 브라우저의 요청과 관련

request 내장객체로 폼 페이지에서 아이디와 비밀번호를 전송받아 출력하기
1) 폼 페이지에서 입력한 한글을 처리하도록 request 내장 객체의 setCharacterEncoding() 메서드에 문자 인코딩 유형을 utf-8로 작성
2) 입력된 아이디와 비밀번호를 폼 문으로 부터 전송받도록 reques 내장 객체의 getparameter() 메서드를 작성
3) 폼 문으로부터 전송받은 아이디와 비밀번호를 출력하도록 표현문 태그를 작성

request01.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
	<form action="request01_process.jsp" method="post">
		<p> 아 이 디 : <input type="text" name="id"></p>
		<p> 비밀번호 : <input type="text" name="passwd"></p>
		<P> <input type="submit" value="전송"></P>
	</form>
</body>
</html>

request01_process.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
	
	 <%
	 	request.setCharacterEncoding("utf-8"); // 한글로 된 값을 받기 위해
	 	String userid = request.getParameter("id");
	 	String password = request.getParameter("passwd");
	 %>
	 <p> 아이디 : <%=userid %>
	 <p> 비밀번호 : <%=password %>
</body>
</html>

request 내장 객체로 모든 HTTP 헤더 정보 값 출력하기
1) 모든 헤더 이름을 가져오도록 request내장 객체의 getHeaderNames() 메서드를 호출하고 이를 모두 저장하도록 Enumeration 객체 타입의 변수 en을 작성
2) Enumeration 객체 타입 변수 en의 hasMoreElements() 메서드를 통해 저장된 헤더 이름이 있을 때까지 반복하도록 while 문 작성
3) 현재 헤더 이름을 가져오도록 Enumeration 객체 타입 변수 en의 nextElement() 메서드를 작성
4) 설정된 해더 이름의 값을 가져오도록 request 내장 객체의 getHeader() 메소드를 작성
5) 현재 헤더 이름과 값을 출력하도록 표현문 태그를 작성

예 :
user-agent : 사용자의 브라우저 정보
referer : 현재페이지로 이동해오기 바로 전 페이지의 주소

request02.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<%@ page import="java.util.Enumeration" %>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
	 
	 <%
	 	Enumeration en = request.getHeaderNames();
	 	while (en.hasMoreElements()) {
	 		String headerName = (String) en.nextElement();
	 		String headerValue = request.getHeader(headerName);
	 %>
	 	<%=headerName %> : <%=headerValue %><br>
	 <%
	 	}
	 %>
	 
	 

</body>
</html>

request03.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
	<%--
     request 내장 객체로 모든 웹 브라우져 및 서버 정보 값 출력하기
   --%>
   <%-- 웹 브라우저의 IP 주소 반환 --%>
   <p>클라이언트 IP : <%=request.getRemoteAddr() %>

   <%-- 웹 브라우저의 요청 정보 길이 반환 --%>
   <p>요청 정보 길이 : <%=request.getContentLength() %>

   <%-- 웹 브라우저의 요청 정보 인코딩 반환 --%>
   <p>요청 정보 인코딩 : <%=request.getCharacterEncoding() %>

   <%-- 웹 브라우저의 요청 정보 콘텐츠 유형 반환 --%>
   <p>요청 정보 콘텐트 유형 : <%=request.getContentType() %>

   <%-- 웹 브라우저의 요청 정보 프로토콜 반환 --%>
   <p>요청 정보 프로토콜 : <%=request.getProtocol() %>

   <%-- 웹 브라우저의 요청 정보 방식 (GET, POST)을 반환 --%>
   <p>요청 정보 전송방식 : <%=request.getMethod() %>

   <%-- 웹 브라우저에 요청한 URI 경로를 반환 --%>
   <p>요청 URI : <%=request.getRequestURI() %>

   <%-- 현재 JSP 페이지의 웹 애플리케이션 콘텍스트 경로를 반환 --%>
   <p>컨텍스트 경로 : <%=request.getContextPath() %>

   <%-- 서버 이름을 반환 --%>
   <p>서버 이름  : <%=request.getServerName() %>

   <%-- 실행 중인 서버 포트 반환 --%>
   <p>서버 포트  : <%=request.getServerPort() %>

   <%-- 웹 브라우저의 전체 요청 파라미터 문자열(쿼리문) 반환 --%>
   <p>쿼리문  : <%=request.getQueryString() %>
</body>
</html>

0개의 댓글