728x90
반응형

response 객체란

request가 요청 정보를 담고 있는 객체라면
response객체는 응답 정보를 담고 있는 객체이다.

- 헤더 정보 입력 기능 : 헤더값을 추가하거나 설정하는 기능(대부분 캐시 제어)
- Redirect기능 : 페이지 이동 기능
forward와 redirect의 차이
forward는
URL변경은 그대로 유지되며,
내용만 이동한 페이지의 내용대로 출력된다.
또한 param액션태그를 이용하여 파라미터 전송을 할 수 있다.
redirect는
URL변경이 되며,
이동하는 페이지로 바로 이동된다.
파라미터 전송이 되지 않는다. (페이지 이동만 하는 기능수행)
파라미터를 전송하려면 쿼리스트링 방식으로만 가능하다.
실행부(script)에 기술

SYNTAX
response.sendRedirect("이동할 페이지 주소 문자열 값");
response.sendRedirect("08_06_index.jsp?name=" + encodedValue);
<% response.setIntHeader("Refresh",5); %>  
<% response.sendError(404, "요청 페이지 에러"); %>
//에러코드 참조 사이트
 https://developer.mozilla.org/ko/docs/Web/HTTP/Status
 

 

 

response.sendRedirect
로그인 성공 /실패
08_06_response01.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="08_06_response01_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>​
08_06_response01_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");
	
	if(userid.equals("admin") && password.equals("1234")){
		response.sendRedirect("08_06_response01_success.jsp");
	} else {
		response.sendRedirect("08_06_response01_failed.jsp");
	}
	%>
</body>
</html>
08_06_response01_success.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>
	로그인을 성공했습니다.
</body>
</html>
08_06_response01_failed.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>
	<p>로그인을 실패했습니다.</p>
	<p><a href="./08_06_response01.jsp">로그인가기</a></p>
</body>
</html>​

 

<% response.setIntHeader("Refresh",5); %>
<%@ 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>
<%!
int idx = 0;
String color = "#fff";
String[] bgColor = {"#f00", "#0f0", "#00f", "#ff0", "#0ff"};

String bgChange(){
	color = bgColor[idx];
	if(idx==(bgColor.length-1)) idx=0;
	else idx++;
	return color;
}
%>
<body style="background-color:<%=bgChange() %>">
	<p>이 페이지는 5초마다 새로고침 됩니다.</p>
		<% response.setIntHeader("Refresh",5); %>
	<p><%=(new java.util.Date()) %></p>

</body>
</html>​

 

 

response.sendError(404)

<%@ 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>
	<%
		//에러코드 참조 사이트 https://developer.mozilla.org/ko/docs/Web/HTTP/Status
		response.sendError(404, "요청 페이지를 찾을 수 없습니다.");
	%>
</body>
</html>
response.sendError(500)
<%@ 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>
	<%
	response.sendError(500, "요청 페이지를 찾을 수 없습니다");
	application.log("로그기록", new Exception());
	%>
</body>
</html>​
08_07_login_form.jsp
08_07_login.jsp
08_06_index.jsp

로그인 성공 /실패
08_07_login_form.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="08_07_login.jsp" method="post">
		아 이 디 : <input type="text" name="memberId"size="30"><br>
		비밀번호 : <input type="text" name="memberPass" size="30"><br>
		<input type="submit" value="전송">
		</form>
</body>
</html>​
08_07_login.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html>
<%
	String id= request.getParameter("memberId");
	String pw= request.getParameter("memberPass");
	if(id != null && id.equals("admin") && pw != null && pw.equals("1234")){
		response.sendRedirect("08_06_index.jsp?name=admin");
	} else {
%>	
<html>
<head><title>로그인 실패</title></head>
<body>
잘못된 아이디입니다.
</body></html>
<% } %>
08_06_index.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<%@ page import="java.net.URLDecoder" %>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
<%-- 	3장의 인덱스 페이지 : 	<%=request.getParameter("name") != null ? request.getParameter("name") --%>
<%-- 	: "로그인에서 이동 됨." %> --%>
	3장의 인덱스 페이지 : 	<%=request.getParameter("name") != null ? URLDecoder.decode(request.getParameter("name")): "로그인에서 이동 됨." %>
</body>
</html>

 

728x90
반응형

'[JAVA]' 카테고리의 다른 글

[JSP] jstl = date, time, both  (0) 2024.03.19
[JSP] JSTML fmt  (0) 2024.03.19
[JSP] URI, URL, URN  (0) 2024.03.14
[JSP] Enumeration - form, table  (0) 2024.03.14
[JSP] request_process  (0) 2024.03.13

+ Recent posts