게시글을 작성을 위한 폼(html)과 특정 url을 뷰로 전달하는 컨트롤러를 만드는 과정이다.
전체적인 흐름은 다음과 같다.
- 게시글 작성폼(boardwrite.html) 만들기
- 게시글 작성폼으로 맵핑시켜줄 Controller 만들기
//boardwrite.html
...
<body>
<div class="layout">
<form action="/board/writepro">
<input name="title" type="text">
<textarea name="content"></textarea>
<button type="submit">작성</button>
</form>
</div>
</body>
아래 사진과 같이 게시글을 입력할 폼을 만들어 준다. 작성 버튼을 누르면 입력한 값들을 "/board/writepro"로 전달하며, 별도의 method를 지정하지 않으면 기본 GET방식으로 전달하게 된다.
HTTP방식(GET방식, POST방식) 더 알아보기
@Controller
public class boardController {
@GetMapping("/board/write") // <= localhost:8080/board/write
public String boardWriteForm(){
return "boardwrite";
}
}
해당 클래스가 Controller라는 것을 Spring에게 알려주는 어노테이션이다. 주로 view를 반환하기 위해 사용한다. 위 코드의 경우는 localhost:8080/board/write 요청이 들어오면 @GetMapping으로 이를 받아서 boardwrite.html을 뷰로 반환한다
메서드가 처리할 요청 경로를 지정하는 어노테이션이다. 위 코드의 경우, "/board/write" 경로로 들어온 요청을 boardWriteForm() 메서드를 이용해서 처리한다. 이름에서 알 수 있듯이, HTTP 요청 메서드 중에서 GET 메서드에 대한 매핑을 설정한다.
[출처] 위 내용은 한코딩님의 강의를 정리한 내용입니다