write.jsp ์์ฑ

WEB-INF์ ์๋ ํ์ผ์ ๋ฐ๋ก ์ ๊ทผํ์ง ๋ชปํ๊ณ
์ปจํธ๋กค๋ฌ๋ฅผ ์ฌ์ฉํด์ ์ ๊ทผํ๋ค.
BoardController
// ๊ฒ์๋ฌผ ์์ฑ
@GetMapping("/write")
public void getWrite() throws Exception{
}
home.jspํ์ด์ง์๋
writeํ์ด์ง๋ก ๋์ด๊ฐ ์ ์๋ ๋งํฌ๋ฅผ ์ถ๊ฐํด์ค๋ค.


write.jsp์ form ์ถ๊ฐํ๋ค.
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>๊ฒ์๋ฌผ ์์ฑ</title>
</head>
<body>
<form method="post">
<label>์ ๋ชฉ</label>
<input type="text" name="title" /><br />
<label>์์ฑ์</label>
<input type="text" name="writer" /><br />
<label>๋ด์ฉ</label>
<textarea cols="50" rows="5" name="content"></textarea><br />
<button type="submit">์์ฑ</button>
</form>
</body>
</html>

์ฌ๊ธฐ์ ์ฃผ์ํด์ผํ ๋ถ๋ถ์, ์ ๋ ฅ ์๋ฆฌ๋จผํธ์ธ <input> ๊ณผ <textarea>์ ์ด๋ฆ(name) ์์ฑ์ ๊ฐ์ด BoardVO์ ๋์ผํด์ผํ๋ค๋๊ฒ ์ ๋๋ค.
๋์ผํ์ง ์์ผ๋ฉด ์ ์ก์ํ ์ ์๋๊ฑด ์๋์ง๋ง, ๋ณ๋๋ก ์์ ์ ํด์ฃผ์ด์ผํ๊ธฐ ๋๋ฌธ์ VO(Value Object)๋ฅผ ๋ง๋ ์๋ฏธ๊ฐ ์์ต๋๋ค. ํ๋ก ํธ๋จ์์ ์ ์กํ๋ ๋ฐ์ดํฐ ํ์ ์ VOํ ์ํค๊ณ , ๋ฐฑ๋จ์ธ ์ปจํธ๋กค๋ฌ์์๋ ๊ฐ์ VOํ์ ์ผ๋ก ๋ฐ๋๋ก ํด์ฃผ๋ฉด ์์์ ๋ฐ์ดํฐ๊ฐ ๋ค์ด๊ฐ๊ธฐ ๋๋ฌธ์ ํธ๋ฆฌํฉ๋๋ค.
https://blog.naver.com/drv982/223219299723
[์๊ธ ์์ฑ] write.jsp ํ์ด์ง์ ์ปจํธ๋กค๋ฌ
JSP File์ ์ ํํ๊ณ ๋ค์(Next) ๋ฒํผ์ ํด๋ฆญํฉ๋๋ค. ๊ฒฝ๋ก๋ฅผ ํ์ธํ๊ณ , ํ์ผ๋ช (File name)์ write.j...
blog.naver.com
DB ์ฐ๊ฒฐ์ ์ํ ์ฟผ๋ฆฌ๋ฌธ์ ์์ฑํ๊ธฐ์ํด
boardMapper.xmlํ์ผ์์ ์์ฑํ๋ค.
<!-- ๊ฒ์๊ธ ์์ฑ -->
<insert id="write" parameterType="com.board.domain.BoardVO" >
INSERT INTO
tbl_board(title, content, writer)
VALUES(#{title},#{content},#{writer})
</insert>
BoardDAO
package com.board.dao;
import java.util.List;
import com.board.domain.BoardVO;
public interface BoardDAO {
// ๊ฒ์๊ธ ๋ชฉ๋ก
//์๋ฌ ๋ฐ์ ์ ํธ์ถํ ๊ณณ์์ ์๋ฌ๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํด Exception
public List<BoardVO> list() throws Exception;
//๊ฒ์๊ธ ์์ฑ
public void write(BoardVO vo) throws Exception;
}
์์ ๊ฐ์ด ์์ฑํ๋ฉด
BoardDAOImple๋ก ์์ ๋ ์ค๋ฅ๊ฐ ๋ธ

์ถ๊ฐํ๋ฉด

์๋ ์์ฑ๋จ.
package com.board.dao;
import java.util.List;
import org.mybatis.spring.SqlSessionTemplate;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Repository;
import com.board.domain.BoardVO;
@Repository
public class BoardDAOImple implements BoardDAO{
@Autowired //Inject ์ฌ์ฉํด๋๋จ
private SqlSessionTemplate sqlTemplate;
// ๊ฒ์๊ธ ๋ชฉ๋ก
@Override
public List<BoardVO> list() throws Exception {
//tb1_board์ ๋ชจ๋ ๊ฒ์๊ธ์ ๊ฐ์ ธ์ด
return sqlTemplate.selectList("board.list"); //namespace + id
}
// ๊ฒ์๊ธ ์
๋ ฅ -> ํ๋ผ๋ฏธํฐ๊ฐ ๋ค์ด๊ฐ์ผํจ
@Override
public void write(BoardVO vo) throws Exception {
sqlTemplate.insert("board.write", vo);
}
}
Write์๋ ํ๋ผ๋ฏธํฐ๊ฐ ์ ๋ ฅ๋์ด์ผํจ
BoardService
package com.board.service;
import java.util.List;
import com.board.domain.BoardVO;
public interface BoardService {
//๊ฒ์๊ธ ๋ชฉ๋ก
public List<BoardVO> list() throws Exception;
//๊ฒ์๋ฌผ ์์ฑ
public void write(BoardVO vo) throws Exception;
}
BoardServiceImple ์์๋
์ถ์๋ฉ์๋ ์๋ ์์ฑ
// ๊ฒ์๋ฌผ ์์ฑ
@Override
public void write(BoardVO vo) throws Exception {
boardDAO.write(vo);
}
BoardController
postMapping ์ถ๊ฐ
// ๊ฒ์๋ฌผ ์์ฑ
@GetMapping("/write")
public void getWrite() throws Exception{
}
// ๊ฒ์๋ฌผ ์์ฑ
@PostMapping("/write")
public String postWrite(BoardVO vo) throws Exception{
boardService.write(vo);
return "redirect:/board/list";
}
ํ ์คํธ
