[Servlet] Dispatcher방식과 Redirect 방식

lzhxxn·2021년 1월 17일
1
post-thumbnail
서블릿에서 특정 URL이나 페이지로 이동하게 하는 두 가지 방식이 있다.

✔ Dispatcher방식 -->forward()


■ forward()[전달하기]는 클라이언트가 요청하면서 전송한 데이터를 그대로 유지한다.
■ 포워딩이 되더라도 주소가 변경되지 않는다. (같은 request영역을 공유하게 됨)

	Board dto = service.contentS(seq);
    				request.setAttribute("dto", dto);
    			}catch(NumberFormatException ne){
    			}
    		}
    	}
    	String view = "content.jsp";
    	RequestDispatcher rd = request.getRequestDispatcher(view);
    	rd.forward(request, response);

✔ Redirect 방식 --> sendRedirect()


■ Redirect()[이동하기]는 새로운 페이지로 완전히 이동해서 기존 데이터를 하나도 사용할 수 없다.
■ 포워딩될 때 브라우저의 주소 표시줄의 URL이 변경된다. 포워딩된 jsp페이지에서는 서블릿에서 request영역에 공유한 속성값에 접근 할 수 없다.

request.setAttribute("request", "requestValue");

response.sendRedirect("redirect.jsp");

redirect.jsp

request 속성 값 : <%=request.getAttribute("request") %>
profile
Junior ᴅᴇ́ᴠᴇʟᴏᴘᴘᴇᴜʀ

0개의 댓글