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 |