웹심화 게시판 CRUD 구현

웹 애플리케이션의 핵심 기능인 CRUD(Create, Read, Update, Delete)를 정리했다.

게시판 예시를 통해 데이터의 생성부터 소멸까지의 과정을 Spring MVC로 구현했다.

HTTP 메서드 기반 기능 정의

Spring MVC에서는 HTTP 메서드를 활용하여 각 기능을 구분한다.

@Controller
@RequestMapping("/board")
public class BoardController {

    // 1. 목록 조회 (Read): 저장된 데이터를 호출하여 화면에 출력한다.
    @GetMapping("/list")
    public String list(Model model) {
        model.addAttribute("list", boardService.getList());
        return "board/list";
    }

    // 2. 등록 처리 (Create): 새로운 데이터를 DB에 저장한다.
    @PostMapping("/register")
    public String register(BoardVO board, RedirectAttributes rttr) {
        boardService.register(board);
        // 처리 결과 메시지를 일회성으로 전달한다.
        rttr.addFlashAttribute("result", "success");
        return "redirect:/board/list"; // 등록 후 목록으로 리다이렉트 수행
    }

    // 3. 수정/삭제 (Update/Delete): 기존 데이터를 변경하거나 제거한다.
    // 데이터 변경을 위해 POST 방식을 사용한다.
}

구현 지침

  • 리다이렉트(Redirect) 활용: 데이터 변경(등록, 수정, 삭제) 후에는 redirect:를 사용하여 중복 등록을 방지해야 한다.
  • RedirectAttributes: 리다이렉트 시 일회성 알림 메시지 전달에 사용한다.
  • 역할 분리: 컨트롤러는 요청 수신 및 응답 제어를 담당하고, 실제 데이터 처리는 서비스 레이어에서 수행한다.

데이터 흐름 분석

CRUD 구현을 통해 클라이언트 요청이 서버를 거쳐 데이터베이스에 반영되는 흐름을 확인했다.

모든 웹 서비스는 이 기초 기능 위에서 동작한다.

기본에 충실한 구현이 견고한 서비스를 구축하는 기반이 되는 것 같다.

Author avatar

웨이호프

WordPress creator and blogger.

View all posts