본문 바로가기

JSP,Servlet

JSP - sendRedirect 개념/실습문제 네이버로 이동

response.sendRedirect()

--> 웹서버가 웹브라우저에게 다른 페이지로 이동하라고 지시하는 명령어

 

response.sendRedirect() 실습문제

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
<form action="ex11sendRedirect.jsp">
   <input type ="submit" value ="네이버로 이동!">
</form>


</body>
</html>

HTML 코드

<form action="ex11sendRedirect.jsp">

오류뜨면 항상 form 태크 오타부터 본다 !!

<%@ 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.sendRedirect("https://www.naver.com"); 다른 웹페이즐ㄹ 호출할 때 사용
   response.sendRedirect("https://www.naver.com");
%>
</body>
</html>

JSP - 소스 코드

response.sendRedirect("이동할 사이트 주소")

--->다른 웹페이지 호출할 때 사용

 

위의 문제를 바탕으로 네이버/구글/유튜브를 호출하는 간단한 프로그램 만들기

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
<form action="moveURL.jsp">
<table>
         <td>
            <select name="moveURL">
              <option value="https://www.naver.com">네이버</option>
              <option value="https://www.google.com">구글</option>
              <option value="https://www.youtube.com">유튜브</option> 
            </select>
          </td>
          <td><input type ="submit" value ="제출"></td>

</table>
</form>
</body>
</html>

HTML 소스코드

 

-문제보기와 같이 select을 사용하여 

 네이버 / 구글 /유튜브 3가지 option을 사용하여

 value 값에 각각의 주소를 넣어준다.

 

<%@ 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>
<%
String url =request.getParameter("moveURL"); //값 받아고기

response.sendRedirect(url);

%>
</body>
</html>

값을 받아와야기 때문에

request.getParameter("moveURL"); 사용

이것을 변수에 담아 준다 변수를 String url에 담아주고

 

response.sendRedirect("url")

--->url html코드에서 moveURL의 값을 가져온 것이기 때문에

     3개의 옵션중 선택한 주소로 이동함

 

간단한 문제이지만 응용을 하지 못해서 풀지 못했다 ... 좀 더 열심히하자