국비

[ 46일차 11~14 ] 수업 정리 - Spring

코딩하는냥이 2025. 6. 23. 17:23
반응형

📌 핵심 구현 기능

  • 게시글 등록 / 조회 / 수정 / 삭제 / 상세보기
  • 로그인/로그아웃 처리
  • JSP ↔ Servlet 구조 전환 (*.do 방식)
  • 세션을 통한 게시글 데이터 관리

📌 주요 파일 및 역할

💻 1. insertboard.jsp (새 글 작성 페이지)

사용자가 게시글 제목, 작성자, 내용을 입력할 수 있도록 구성.
→ insertboard.do로 폼 전송.

💻 2. insertboard_proc.jsp → 서블릿으로 대체됨

기존 JSP 로직을 DispatchServlet의 insertBoard_proc() 메서드로 대체.

💻 3. deleteboard_proc.jsp → 서블릿으로 대체됨

게시글 삭제 로직은 deleteBoard_proc()에서 처리.

💻 4. logout_proc.jsp → logout.do

세션 무효화 후 로그인 페이지로 리다이렉트.

💻 5. login.jsp

로그인 폼을 구성.
login.do로 로그인 요청 전송.

💻 6. getboardlist.jsp

  • 세션에서 게시글 리스트 boardList를 받아와 테이블로 출력
  • 각 제목 클릭 시 getboard.do?seq=...으로 상세페이지 이동

💻 7. getboard.jsp

  • 세션에 저장된 board 객체를 바탕으로 상세 내용 출력
  • 수정 가능하도록 폼 구성
    → updateboard.do로 수정 요청

💻 8. insertboard.jsp (Servlet 기반 전환)

폼 제출 시 insertboard.do로 글 등록 요청


📦 9. web.xml

DispatchServlet을 *.do URL 패턴으로 매핑

<servlet>
  <servlet-name>action</servlet-name>
  <servlet-class>com.springbook.controller.DispatchServlet</servlet-class>
</servlet>
<servlet-mapping>
  <servlet-name>action</servlet-name>
  <url-pattern>*.do</url-pattern>
</servlet-mapping>

🧠 10. DispatchServlet.java 기능별 메서드

기능 메서드 설명
로그인 login_proc() UserDAO를 이용해 로그인 처리 후 세션 저장
로그아웃 logout_proc() 세션 무효화
글 등록 insertBoard_proc() BoardDAO로 DB 저장 후 목록 페이지 이동
글 수정 updateBoard_proc() 제목/내용 수정 처리
글 삭제 deleteBoard_proc() 게시글 삭제 처리
목록 보기 getBoardList_proc() boardList를 세션에 저장 후 getboardlist.jsp로 이동
상세 보기 getBoard_proc() 게시글 1건을 세션에 저장 후 getboard.jsp로 이동

💡 포인트 정리

  • DispatcherServlet을 통해 중앙 집중형 URL 라우팅 구현
  • JSP 단에서 직접 DB 접근 대신 서블릿이 처리하도록 구조화
  • 세션을 이용한 사용자 상태 및 게시글 데이터 유지
  • *.do 패턴을 통해 MVC 구조의 흐름 확립

📌 정리하자면, 46일차 수업에서는 기존 JSP 파일들을 Servlet 기반으로 통합하면서 본격적인 MVC 구조의 웹 애플리케이션 형태를 갖추기 시작했습니다. 특히, DispatcherServlet 클래스에서 모든 요청을 처리하는 방식은 Spring MVC의 DispatcherServlet 구조와 매우 유사하며, 추후 Spring 프레임워크를 이해하는 데도 큰 도움이 됩니다.