오늘보다 더 나은 내일의 나에게_

스마트인재개발원 국비지원무료교육 서블릿 포워드 방법 정리 본문

스마트인재개발원

스마트인재개발원 국비지원무료교육 서블릿 포워드 방법 정리

chan_96 2022. 3. 6. 13:24
728x90

이번 주 또한 프로젝트를 진행하면서 servlet과 jsp코드를 작성하다 보니 서블릿 포워드 방식에 대해 조금 더 공부하고 싶어졌다. 주로 수업시간에 배운 내용은 redirect 방식을 많이 사용했고 익숙해져 있어서 다른 방식은 조금 낯설었던 것 같다. 

 

📌포워드(forward) 란?

하나의 서블릿에서 다른 서블릿이나 JSP와 연동하는 방법

포워드 기능이 사용되는 용도
- 요청에 대한 추가 작업을 다른 서블릿에게 수행
- 요청에 포함된 정보를 다른 서블릿이나 JSP와 공유
- 요청에 정보를 포함시켜 다른 서블릿에 전달
- 모델2 개발 시 서블릿에서 JSP로 데이터를 전달하는 데 사용

서블릿의 포워드 방법은 크게 4가지로 볼 수 있다.

redirect, Refresh, location, dispatch

 

주로 sendredirectforward 방식을 주로 많이 사용한다.

forward는 스프링에서 많이 사용

 

⚡Redirect⚡

- HttpServletResponse 객체의 sendRedirect( ) 이용
- 웹 브라우저에 재요청하는 방식

- 다른 웹 컨테이너에 있는 주소로 이동 가능

- 추가적으로 발생하는 처리에 의해 포워딩보다 성능이 느림

sendRedirect("포워드할 서블릿 또는 JSP");

⚡Refresh⚡

- HttpServletResponse 객체의 addHeader( ) 메서드 사용

- 웹 브라우저에 재용 청하는 방식

response.addHeader("Refresh", 경과시간(초);url=요청할 서블릿 또는 JSP);

⚡location⚡

- 자바스크립트 location 객체의 href 속성을 이용

- 자바스크립트에서 재요청하는 방식

location.href = '요청할 서블릿 또는 JSP';

⚡dispatch⚡

- 일반적으로 포워딩 기능을 지칭

- 서블릿이 직접 요청하는 방법

- RequestDispatcher 클래스의 forward( ) 메서드 이용

- 웹브라우저의 URL 정보는 변경되지 않으므로 클라이언트는 다른 페이지로 이동했는지 알 수 없음

- 클라이언트와 통신 없이 서버에서만 처리되는 것이어서 redirect보다 성능이 좋음

- 현재 페이지와 포워딩에 의해 호출된 페이지는 Request와 Response 객체를 공유

RequestDispatcher dis = request.getRequestDispatcher("포워드할 서블릿 또는 JSP");
dis.forward(request, response);

📌Redirect와 Forward의 차이

코드를 작성하다 보면 redirectforward의 차이를 크게 못 느낄 수도 있지만

조금 생각해보면 사용하는 상황과 차이가 있다.

 

간단히 정리해보면 먼저 Scope(영역)에 차이가 있다. 

Application > Session > Request > Page

Page
 -> 페이지 내에서만 사용 가능
Request
 -> 한번 요청-응답 후 더 이상 사용 불가능
Session
 -> 브라우저 종료 시 or 세션 삭제 시까지 사용 가능
Application
 -> 애플리케이션이 종료될 때까지 사용 가능(서버  종료 시까지 사용 가능)

redirect 경우 각각의 page에 각각의 request가 새롭게 형성되어 그 영향력이 각각의 page안으로 제한됨

forward 경우 page는 각각의 페이지만 해당하고 request는 두 가지 jsp를 포괄적으로 이르기 때문에 더 큰 영역에서 활용 가능

 

시스템에 변화가 생기는 요청(로그인, 회원가입, 글쓰기)에는 redirect 방식

시스템에 변화가 생기지 않는 단순 요청(글목록보기, 검색 등)의 방식에는 forward 방식

=> 변화를 주는 경우 redirect, 변화를 주지 않으면 forward 사용!


현재 모집 중인 과정

 

스마트인재개발원 본점 남구 CGI센터

 

 

 

스마트인재개발원 분점 동구 아트센터

 

 

 

스마트 인재개발원이 궁금하다면 아래 링크! 

https://www.smhrd.or.kr/

 

스마트인재개발원

4차산업혁명시대를 선도하는 빅데이터, 인공지능, 사물인터넷 전문 '0원' 취업연계교육기관

www.smhrd.or.kr

728x90
Comments