페이지 이동과 정보 공유 시나리오

HH_Nebula·2023년 1월 19일
0

로그인

로그인 후 세션을 이용해 사용자 이름을 저장하고 메인 화면으로 이동하는 경우

  1. 클라이언트가 로그인한다.
  2. 컨트롤러는 request.getParameter()를 통해 클라이언트의 id와 password를 확인한다.
  3. 로그인 정보가 맞을 경우 사용자 이름이나 기타 정보를 세션에 저장한다.
  4. 메인 화면으로 리디렉션 한다.
// Controller
session.setAttribute("name", "홍길동");
response.sendRedirect("/main.jsp");
<!-- main.jsp -->
<div id="name">${name}</div>

게시판 목록

데이터베이스 연동을 통해 리스트 형태의 데이터를 저장하고 JSP에서 사용하는 경우

  1. 컨트롤러는 DB로부터 게시판의 첫 번째 페이지 데이터를 가지고 온다.
  2. request에 리스트 형태로 데이터를 저장한다.
  3. 목록 화면으로 포워딩한다.
// Controller
List<Notice> noticeList = dao.getNoticeList();
request.setAttribute("noticeList", noticeList);
request.getRequestDispatcher("/notice.jsp").forward(request, response);

session과 달리 request에 저장된 데이터는 페이지 리디렉션을 이용하면 전환할 때 데이터가 소멸되므로 포워딩 방식을 사용해야 한다.

profile
공부하고 기록하고 복습하고

0개의 댓글