Servlet & Jsp

[sendRedirect 사용하기] - Head Frist Servlet & Jsp

사과씨앗 2020. 12. 21. 22:45
728x90
반응형

안녕하세요 이번 글에서는 forward 방식으로 요청 값을 넘겨주는 것을 알아보겠습니다.

 

forward 방식은 sendRedirect와는 다르게 jsp에게 요청 값을 전달해 주고 jsp는 받은 요청 값을 사용하여 클라이언트에게 html 파일을 보내는 경우 사용합니다.

 

1. forward 

 

<%@ 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="test.do" method="POST">

<select name="fruit">
<option value="apple">사과</option>
<option value="appleSeed">사과씨앗</option>
<option value="applePie">사과파이</option>

</select>



<input type="submit" value="서브밋 버튼!"> 

</form>


</body>
</html>

먼저 index.jsp에 위처럼 작성합니다.

 

	protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		
		//RequestDispatcher 객체를 호출하여 요청을 보낼 jsp 경로를 호출하여 줍니다.
		RequestDispatcher view = request.getRequestDispatcher("view/next.jsp");
		//초기화한 객체를 forward 방식으로 request , response를 jsp에서 사용할 수 있도록 넘겨 줍니다.
		view.forward(request, response);
	
	}

서블릿 에서 위와 같이 작성하여 줍니다.

 

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
    
<% String furit = request.getParameter("fruit"); %>  
    
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
<h1><%=furit %></h1>



</body>
</html>

요청을 받을 jsp 에서 request에서 parameter을 꺼내 줍니다.

(JSP에서 자바 코드 사용 시 <%%> 기호를 사용하여 줍니다.)

 

서버를 실행 시킨뒤

 

만들어 두었던 셀렉트 박스에서 값을 선택한 다음 서브밋 버튼을 누르게 되면

 

셀렉트박스 에서 선택한 항목의 value 값이 requset 를 타고 호출된 것을 확인할 수 있습니다.

 

감사합니다~!~!~

728x90
반응형