서블릿에서 다른 페이지로 포워드 할 수 있는 메소드를 제공
클라이언트로부터 최초에 들어온 요청을 JSP/Servlet 내에서 원하는 자원으로 요청을 보내는 역할을 수행하거나, 특정 자원에 처리를 요청하고 처리 결과를 얻어오는 기능을 수행하는 클래스

출처: https://dololak.tistory.com/502
Scope는 다른 서블릿과 공유해야 할 데이터를 임시적으로 저장할 수 있는 기능을 제공함page, request, session, application)page 영역
한 번의 클라이언트 요청이 오면, 하나의 JSP 페이지가 응답하고, 이 때 하나의 JSP 페이지 내에서만 객체를 공유하는 영역 (JSP에서만 존재)
<% %> 안에 변수를 사용하면, page 스코프에 정의된 객체이기 때문에 이 변수는 해당 JSP 파일 내에서만 유효
request 영역
요청을 받아서 응답하기까지 객체가 유효한 영역
Servlet에서 forward 또는 include를 사용하면, request 영역이 됨
ex)
Servlet에서는 reqeust.setAttribute("이름", 객체); 로 전달,
JSP에서는 Obejct ob j = request.getAttribute("이름"); 으로 받음
이 request 객체가 request 영역
session 영역
하나의 브라우저 당 1개의 session 객체가 생성, 같은 브라우저 내에서 요청되는 페이지들은 같은 객체를 공유하게 됨, 이를 세션 영역이라고 함
requset.getSession() 메서드를 호출하여 세션 영역의 객체를 얻을 수 있고, 세션이 종료되면 객체는 반환됨
application 영역
하나의 애플리케이션 당 1개의 application 객체가 생성, 같은 애플리케이션 내에서 요청되는 페이지들은 같은 객체를 공유하게 됨, 이를 애플리케이션 영역이라고 함
request.getServletContext() 메서드를 호출하여 애플리케이션 영역의 객체를 얻을 수 있고, 애플리케이션이 종료되면 객체는 반환됨

출처 : https://victorydntmd.tistory.com/155
서블릿
request.setAttribute("userName", userName);
RequestDispatcher dispatcher = request.getRequestDispatcher("success.jsp");
dispatcher.forward(request, response);
JSP
String userName = (String)request.getAttribute("userName");
