Spring 26

Spring 강의 15강 - ViewResolver와 HandlerMapping을 활용한 컨트롤러 구조 개선

이번 시간에는 Spring 웹 애플리케이션에서 ViewResolver와 HandlerMapping을 적용해 컨트롤러의 역할을 세분화하고, 각 기능을 담당하는 클래스를 구조화하는 과정을 다룹니다.📌 ViewResolver.javapackage com.springbook.controller;public class ViewResolver { public String prefix, suffix; public String getView(String viewName) { return prefix + viewName + suffix; } public void setPrefix(String prefix) { this.prefix = prefix; } public void setSuffix(String suffi..

[ 48~50일차 ] 복습 및 시험

✅ 구현한 주요 컴포넌트1. JDBCUtil.java H2 DB 접속 및 연결 해제 기능 제공 ( getConnection(), close() 메서드) 자원을 안전하게 해제하도록 finally 블록과 isClosed() 검사 포함 2. BoardDAO.java / BoardVO.java BoardDAO 글 등록/수정/삭제/단일 조회/전체 조회 기능 수행 JDBCUtil 활용해 Connection, PreparedStatement, ResultSet 제어 BoardVO 게시글의 핵심 데이터(번호, 제목, 작성자, 내용, 등록일, 조회수)를 갖는 자바 빈 toString() 오버라이딩 포함 3. UserDAO.java / UserVO.java UserDAO 사용자 로그인 정보를 DB에서 조회 (SELE..

국비 2025.06.28

게시판 해체 분석 100%!! 코드들의 설명과 동선 완벽하게 이해하기

국비 수업 내용으로 진행한 BoardWeb의 소스 코드를 파일별로 하나씩 보여드리고, 각 코드에서 메서드, 명령어, 주요 구문, 흐름 등을 상세하게 해설한 글입니다.📦 JDBCUtil.java코드 원문package com.springbook.biz.board;import java.sql.Connection;import java.sql.DriverManager;import java.sql.ResultSet;import java.sql.Statement;public class JDBCUtil { public static Connection getConnection() { try { Class.forName("org.h2.Driver"); return..

STS3에서 로그인과 게시판 생성을 위한 요점 정리

Spring Tool Suite3를 이용한 로그인 및 게시판 기능 구현을 할 때 필요한 요점을 기능별로 정리한 내용입니다.해당 내용은 국비 지원에서 받은 수업을 기반으로 두어 내용을 정리하였습니다.1. 데이터베이스 유틸리티 (JDBCUtil.java)package com.springbook.biz.board;import java.sql.Connection;import java.sql.DriverManager;import java.sql.PreparedStatement;import java.sql.ResultSet;import java.sql.Statement;public class JDBCUtil { // 1. DB 연결 메서드 public static Connection getConnecti..

Spring Framework에서 Service와 ServiceImpl 구조를 사용하는 이유는 무엇인가?

Spring 프레임워크에서 Service 인터페이스와 ServiceImple 클래스(구현체)를 나누어 사용하는 이유는 유연한 설계와 유지보수성을 위한 객체지향 설계 원칙과 밀접한 관련이 있습니다. 그 이유를 아래에 정리해 드리겠습니다.1. 역할 분리와 추상화 - Service는 기능을 정의하는 인터페이스입니다. - ServiceImpl은 실제 구현을 담당하는 클래스입니다.이렇게 나누면 코드가 "무엇을 할 수 있는지"와 "어떻게 작동하는지"가 분리됩니다.2. 느슨한 결합 (Loosely Coupled) 원칙을 이용한 소프트웨어 설계 - 클라이언트(Controller 등)는 구현체가 아닌 인터페이스에 의존합니다. - 구현체가 바뀌어도 인터페이스만 유지되면 다른 클래스에 영향을 주지 않습니다.3. 테스트와 유..

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

📌 핵심 구현 기능게시글 등록 / 조회 / 수정 / 삭제 / 상세보기로그인/로그아웃 처리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...

국비 2025.06.23

Spring 14강 - DispatchServlet과 요청 흐름 통합 이해하기

이번 강의에서는 web.xml의 서블릿 매핑을 통해 .do 요청을 DispatchServlet으로 위임하는 방법과, 각 요청별 흐름을 Java 서블릿에서 직접 제어하는 구조를 배웠습니다. 게시판 프로그램의 전체 흐름을 하나의 컨트롤러 클래스(DispatchServlet)가 관리하게 되어 MVC 패턴의 기반이 마련되었습니다.📌 web.xml 설정 action com.springbook.controller.DispatchServlet action *.do 📌 JSP 화면들🔹 login.jsp 🔹 insertboard.jsp 🔹 getboard.jsp ...글 삭제🔹 getboardlist.jsp boardList = (List) sess..

Spring 13강 - 로그아웃 기능 구현 (logout_proc.jsp)

📄 logout_proc.jsp💬 설명session.invalidate();→ 현재 로그인한 사용자 정보를 포함한 모든 세션 데이터를 제거합니다. 즉, 로그아웃 처리입니다.response.sendRedirect("login.jsp");→ 로그아웃 처리 후, 로그인 페이지로 이동시킵니다.💡 포인트 정리session.invalidate()는 로그인 상태 유지에 사용된 세션을 완전히 초기화합니다.이후 login.jsp로 리다이렉션 하면서 로그인 상태가 해제됩니다.로그아웃 버튼 클릭 시 이 JSP를 호출하도록 연결해주는 링크 또는 버튼이 있어야 합니다:jsp복사편집"logout_proc.jsp">로그아웃 📌정리하자면, 이번 강의에서는 JSP 기반의 logout_proc.jsp를 만들어 세션 초기화 → 로..

Spring 12강 - 게시글 삭제 기능 구현 (deleteboard.jsp)

📄 deleteboard.jsp (삭제 처리 JSP)💬 설명getParameter("seq")로 삭제할 게시글의 번호(seq)를 가져옵니다.해당 seq 값을 BoardVO에 담고, DAO의 deleteBoard()를 호출하여 DB에서 삭제합니다.삭제가 완료되면 getboardlist.jsp로 리다이렉트되어 목록을 갱신합니다.💡 포인트 정리deleteBoard()는 BoardDAO에 정의된 메서드로, 기본적인 SQL DELETE 구문을 실행합니다.JSP에서 바로 DAO를 호출하고 처리하는 방식은 구조는 간단하지만, MVC 패턴으로 분리하지 않으면 유지보수에 불리할 수 있습니다.보안적으로는 확인 메시지 없이 바로 삭제되므로 삭제 전 확인(alert) 기능을 추가하는 것이 안전합니다.📌정리하자면, 이번..

Spring 11강 - 게시글 등록 기능 구현 (insertBoard.jsp)

이번 글에서는 사용자가 새로운 게시글을 입력하는 화면을 구성하고, 입력된 데이터를 DB에 저장하는 등록 처리 JSP 페이지를 작성합니다.📄 insertboard.jsp (새 글 작성 폼) 새 글 작성 로그아웃 제목 작성자 내용 목록으로 이동하기 💬 설명사용자가 제목, 작성자, 내용을 입력할 수 있도록 폼을 구성합니다.제출 시 insertboard_proc.jsp로 데이터가 전송됩니다.작성 후 목록 페이지로 이동할 수 있도록 하단에 링크도 제공합니다.💻 insertboard.jsp (실행 화면) 새 글 작성 로그아웃 ..

반응형