본문 바로가기
웹 프로그래밍(풀스택-->java)/웹프로그래밍(백엔드-->java)

10. Jsp 페이지 내장객체 6

by 백엔드개발자0107 2021. 10. 22.

response를 쓰는 이유는 주로 많지가 않다.

response에 관련된 기능은 주로 사용자들의 응답에 관련된 내용인데,

 

response에서 실질적으로 많이 쓰는 메소드는 딱 하나,

sendRedirect()정도로 생각하면 될듯하다.

 

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

 

response객체는 주로 헤더정보 입력에 대한것이나,

redirect의 기능만 제공을  한다.

redirect란 페이지를 이동시키는 메소드로 아이디 패스워드를 집어넣어서 로그인이 제대로 된다면,

로그인을 처리한후에, 그런정보가 사용자가 메인을 보여주는 것이 아닌, 서버측에서 다른페이지로 떠넘겨줘야 할떄

사용하는게 response.sendredirect 이다.

 

--> ResponseLoginProc.jsp 도 새로 만들어준다.

 

 

더보기

로그인 --> ID,PASSWORD를 읽어드릴것이다.(DB를 통해 확인후 아이디와 비번이 틀리면 로그인 페이지로 넘어갈것이다.)--> 아이디와 비번을 잘 입력하면, 로그인된 페이지인 메인페이지를 보여줄 것이다.(이 과정이 response.sendRedirect()메소드이다.)


ResponseSendRedirect.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>

 

<center>

 

<h2>로그인 페이지 </h2>

 

<form action="ResponseLoginProc.jsp" method="post">

 

<table width="400" border="1">

<tr height="60">

<td align="center"width="150">아이디</td>

<td align="left" width="250">

<input type="text" name="id">

</td>

</tr>

 

<tr height="60">

<td align="center" width="150">패스워드 </td>

<td align="left" width="250">

<input type="password" name = "pass">

 

</td>

<tr height = "60">

<td colspan="2" align= "center">

<input type="submit" value = "전송 ">

</td>

</tr>

</table>

</form>

 

</center>

 

 

 

</body>

</html>

 


ResponseLoginProc.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>

 

<h2>로그인 처리페이지 </h2>

 

 

<%

request.setCharacterEncoding("UTF-8");

 

//임의적으로 id와 pass를 설

String dbid = "aaaa";

String dbpass = "1234";

 

//사용자로부터 넘어온 데이터를 입력받아준다.

String id = request.getParameter("id");

String pass = request.getParameter("pass");

 

if (dbid.equals(id) && dbpass.equals(pass)) {

 

// 아이디와 패스워드가 일치하니까 메인페이지를 보여주어야 합니다.

response.sendRedirect("ResponseMain.jsp?id=" + id);

(여기서 id값을 넘겨준다.)

} else {

%>

 

<script type="text/javascript">

alert("not correct id and password");

history.go(-1);

</script>

 

<%

}

%>

 

</body>

 

 


ResponseMain.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");

%>

--> response.sendRedirect()를 쓰면

<%

request.setCharacterEncoding("UTF-8");

%>

마찬가지로 post방식으로 form action을 적용시킨것이기 때문에

사용한다.

 


 

<h2><%= request.getParameter("id") %> 님 반갑습니다.</h2>

 

 

 

</body>

</html>