글쓰기를 할 때 데이터의 흐름은
input란에 값을 넣고 submit을 하면 input의 입력 값 혹은 hidden의 value값들을
form태그의 action에 따른 전송 주소와 전송방식, 인코딩 방식에 따라 서버로 전달한다.
서버에서는 Controller에서 form태그의 action의 주소를 받고 있다면 받아서 처리한다.
1. form태그

/board/save 라는 주소로 Post 방식으로 보내는데
인코딩 방식이
application/x-www-form-urlencoded 로
폼의 모든 키-값 쌍이 key1=value1&key2=value2 형식으로 인코딩 됩니다.
input 태그 2개에 각각 제목, 내용 데이터를 입력하는데 이 데이터들이
input태그의 name값이 파라미터 이름이므로
입력한 내용들이 파라미터의 값으로 키-값 쌍으로 전달됩니다.
이는 Controller에서 @RequestParam
으로 받아줄 수 있습니다.
제목에 hi, 내용에 bye
를 적고 글쓰기를 눌렀다면
title="hi"&content="bye"
라고 전달됩니다.
2. Controller
form 태그에서 보내온 데이터를
public String save(
@RequestParam("title")
String title, @RequestParam("content")
String content) { //코드 }
이렇게 받아서 처리하는데
요청파라미터 이름과 매개변수 이름 일치시 @RequestParam 생략 가능하다.
public String save(string title
, String content
) { //코드 } 이렇게 해줄 수 있다.
이렇게 title과 content를 받아서 Repository로 넘겨서 database에 저장해준다.
3. Repository
EntityManger를 이용해서 쿼리문을 전달하면서
insert into table_tb(title, content, created_at) values(?,?,now())
db 테이블에 데이터를 넣어준다.
@Transactional은
import org.springframework.transaction.annotation.Transactional;
를 import 해준다
4. 글쓰기
4-1. 게시판에 들어가서 글쓰기 페이지로 이동.

4-2. 글쓰기를 해본다.

4-3. database에 잘 들어갔나 확인.
Driver Class : org.h2.Driver
JDBC URL : jdbc:h2:mem:test
User Name : sa

확인 해보니 잘 들어갔다.
이제 글쓰고 나서 쓴 내용을 보여주는 View와
내용을 가져오는 처리가 필요해졌다.

Share article