스프링 게시판을 만들면서, 작동 원리를 제대로 파악하지 못하고
강사님의 코드를 그저 코드를 복붙하는 나를 보며 이건 안 되겠다 싶었다.
내가 이해한 MVC 원리를 직접 손으로 그려보았고, 아주 간단하게 설명을 해볼까 한다.
1. 컨트롤러
컨트롤러는 클라이언트의 요청을 받아주는 역할이다.
일단 src/main/java/com....에 controller 폴더를 생성해 주고, MyController라는 클래스를 만들어주었다.
생성된 클래스에서 @Controller라는 어노테이션을 잊지 않고 꼭 붙여준다.
@GetMapping("")는 스프링 부트를 실행할 때 브라우저 url 창에 localhost8080 뒤 "/임의의 이름" 을 입력하여 경로를 설정하면 아래에 입력한 메소드를 실행해주겠다는 어노테이션이다. @RequestMapping(method=RequestMethod.GET)을 짧게 줄여쓴 것이기도 하다. (여기서는 get과 post 방식을 구분할 필요는 없을 것 같아서 따로 설명을 하지는 않겠다.)
아무튼 나는 localhost8080/board를 입력하면 아래 메소드가 실행될 수 있도록 @GetMapping("/board")로 입력해주었다.
여기서 눈에 띄는 것은 return "boardmaking";
무엇을 return 한단 말인가? boardmaking.mustache이라는 파일을 화면에 보여주겠다는 것이다.
src/main/resources 폴더 안에 templates라는 폴더가 있을텐데 이 폴더는 화면에 보여지는 view 파일을 관리하는 폴더라고 생각하면 된다. 이 곳에 mustache file을 생성하고 2번(뷰)과 같이 입력한다.
2. 뷰
본격적인 본문 내용이 들어가는 body 태그 안 h1 태그에 중괄호 "2"개를 붙여준 후 변수명을 입력한다.
이 변수명이 등장한 곳은 3번(모델)에 나와있다.
3. 모델
이제 model을 통해 addAttribute라는 메소드를 실행시킬 것인데,
변수명(attributeName)은 comment로 하겠고 값(attributeValue)은 게시판 만들기로 하겠다는 것이다.
이렇게 모델(M), 뷰(V), 컨트롤러(C)의 상호 관계 및 작동 원리를 파악할 수 있었다.
결과화면은 어떻게 확인하는가?
Run을 클릭한 후 브라우저 url 창에 localhost8080/board를 입력하면
게시판 만들기라는 글자가 보일 것이다.
'00. Spring, Java, jsp' 카테고리의 다른 글
[SpringBoot] lombok(롬복) 설치 및 실행하기 (0) | 2024.06.27 |
---|---|
[SpringBoot] 외부 프로젝트를 내 워크스페이스(Workspace)로 가져올 때 (0) | 2024.06.27 |
[jsp] 페이지 리로드 후 selectbox에 저장된 데이터값 표시하기 (0) | 2024.06.27 |