백엔드/JSP

JSP Servlet 기초 (5) : response 객체

두개의 문 2023. 6. 12. 22:24

JSP Page 내장객체인 response 객체에 대해 배워보자.

- response 객체 : 웹 브라우저의 요청에 대한 응답 정보를 저장하고 있는 객체

 ① 웹 브라우저에 보내는 응답 정보는 HttpServletResponse 객체 사용

 ② response 객체는 응답 정보와 관련하여 주로 헤더 정보 입력, 리다이렉트하기 등의 기능을 제공

 ③ reponse 객체에서 자주 사용되는 메서드

메서드 설명
void setHeader(name, value) 헤더 정보의 값을 수정하는 메서드로, name에 해당하는 헤더 정보를 value 값으로 설정함
void setContentType(type) 웹 브라우저의 요청의 결과로 보일 페이지의 contentType을 설정함
void sendRedirect(url) 페이지를 이동시키는 메서드로, url로 주어진 페이지로 제어가 이동함 

 

 

- response 객체의 sendRedirect(URL) 메서드에 대해 알아보자.

 

▷ response1.html

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
	<form action="response2.jsp">
		나이 입력 : <input type="text" name="age" size="5" /><br />
		<input type="submit" value="전송" />
	</form>
</body>
</html>

 

 

▷ response2.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>
	<%!
		int age;
	%>
	
	<% 
		int age = Integer.parseInt(request.getParameter("age"));
	 	
		if (age >= 20){
			response.sendRedirect("yes.jsp");
		} else {
			response.sendRedirect("no.jsp?age="+age);
		}
	%>
	
	현재 입력하신 나이는 <%= age %>입니다. 
</body>
</html>

- response.sendRedirect("yes.jsp");  → "yes.jsp"의 URL로 이동

- response.sendRedirect("no.jsp?age=" + age );  → URL에 데이터가 같이 전송됨

 

 

▷ yes.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>
	성인입니다.
	
	<a href="response1.html">처음으로 이동</a>
</body>
</html>

 

 

▷ no.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>
	미성년자입니다.
	
	<a href="response1.html">처음으로 이동</a>
</body>
</html>

 

 

▶ 직접 서버에 response1.html 요청에 나이를 입력해보자.