CRUD V1-05.글쓰기 기능 만들기

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

1. form태그

notion image
 
💡
/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에 저장해준다.
notion image
 
 
 
 

3. Repository

💡
EntityManger를 이용해서 쿼리문을 전달하면서 insert into table_tb(title, content, created_at) values(?,?,now()) db 테이블에 데이터를 넣어준다.
notion image
@Transactionalimport org.springframework.transaction.annotation.Transactional; 를 import 해준다
 
 
 
 

4. 글쓰기

4-1. 게시판에 들어가서 글쓰기 페이지로 이동.

 
notion image
 

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

notion image
 
 

4-3. database에 잘 들어갔나 확인.

 
Driver Class : org.h2.Driver JDBC URL : jdbc:h2:mem:test User Name : sa
 
notion image
 
 
 
 
 
확인 해보니 잘 들어갔다.
이제 글쓰고 나서 쓴 내용을 보여주는 View와
내용을 가져오는 처리가 필요해졌다.
 
 
notion image
Share article

zerfa