๊ฒ์ํ ์ค๊ณ
domaindmf ์ ์์ฑํ๊ณ , class๋ก ์ด๋ฆ์ Board๋ฅผ ์์ฑํ์ฌ ๊ฒ์ํ์ ์ค๊ณํฉ๋๋ค
๊ฒ์ํ์ ๊ตฌ์กฐ๋ฅผ ์์ฑํ๋ค = ๊ฐ์ฒด๋ฅผ ์์ฑํฉ๋๋ค
ํ์ค ์ธ๊ณ์์๋ object ๋ผ๊ณ ํฉ๋๋ค
์ถ์์ ์ด๊ณ , ๋ณด์ด์ง ์๋ ๋ชจ๋ ๊ฒ๋ค๋ ํฌํจํ๋ฉฐ, ๋ฌผ๋ฆฌ์ ์ธ ๊ฒ๋ค๋ ์ ๋ถ ํํํ ์ ์์ต๋๋ค.
- ๊ตฌ๋ณ์ด ๊ฐ๋ฅํฉ๋๋ค
ํ๋ก๊ทธ๋จ์์๋ ๊ตฌ์กฐ๋ฅผ ๋ง๋ค์ด์ผ ํฉ๋๋ค. ๊ฐ์ฒด๋ฅผ ๋ง๋ค๊ธฐ ์ํด์ ๋ง์ด์ฃ .
๋ณต์กํ ํด๋์ค, ๊ฐ์ฒด ์ ์
์ฌ๋์ ํ๋ก๊ทธ๋จ์ผ๋ก ๋ง๋ค๊ธฐ ์ํด์, ์ค๊ณ๋ฅผ ํด์ผํฉ๋๋ค.
์๋ฅผ ๋ค์ด, ๋์ด, ํค, ํผ๋ถ์ ๋ฑ์ ์์ฑ๊ฐ์ผ๋ก ์ฌ๋์ด๋ผ๋ ๊ตฌ์กฐ๋ฅผ ๋ง๋ค๊ณ , ๊ฐ์ฒด๋ฅผ ์์ฑํ๋ค, ๊ฐ์ฒด๋ฅผ ์ค๊ณํ๋ค๋ผ๊ณ ํฉ๋๋ค. ์ด๊ฒ์ ๋ํ Class๋ก ์์ฑํ๋ค๊ณ ํ ์ ์์ต๋๋ค.
์ด๋ ๊ฒ ๊ตฌ์กฐ๋ก ๋ณด๋๊ฒ Structure ์ด๋ฉฐ, ์ด ์ ์ฒด๋ฅผ ๊ฐ์ฒด๋ผ๊ณ ํ ์ ์์ต๋๋ค.
--------------------------------------------------------------------------------------------------------------------------------
int a
์ ์๋ฅผ ๋ฃ์ ์ ์๋ ์๋ฃํ์ ๋๋ค
๊ธฐ๋ณธ ์๋ฃํ์ ๋๋ค
Board b
ํ ์ด๋ธ๊ณผ ๊ฐ์ ์ ๋ณด๋ฅผ ๋ฃ์ ์ ์๋ ์๋ฃํ์ ๋๋ค
String
๋ฌธ์์ด์ ๋ง๋ค๊ธฐ ์ํด์ ๋ง๋ค์ด ๋์ ๊ฐ์ฒด์ ๋๋ค ์๋ฃํ์ด ์๋๋๋ค
๊ทธ๋์ ๋ฌธ์์ด์ ๋ง๋๋ ค๋ฉด String ํด๋์ค์ ๋ง๋ค์ด๋์ ๊ฒ์ ํ์ฉํ์ฌ ์ฌ์ฉํ๋ ๊ฒ์ ๋๋ค.
์๋ฐ ํจํค์ง์ lang ํจํค์ง์ ๋ง๋ค์ด ๋์ ๊ฒ์ ๋๋ค.
package kr.board.domain;
public class Board{
private int idx;
private java.lang.String title;
}
์ฌ์ค ์ด๋ ๊ฒ๋ ์ธ ์ ์๋๋ฐ, ์์ ํํ์ด ๋์ฑ ์ ํํ ๊ฒ์ ๋๋ค.
์๋ฐ lang์ ์์น๋ ์๋ฐ base์ ์์นํด ์์ต๋๋ค.
์๋ฐ lang์์ String์ ์์น์ ๋๋ค.
ํ์ง๋ง, ๋งค๋ฒ ์ด๋ ๊ฒ ๋ณต์กํ๊ฒ ๋ถ๋ฌ์ฌ ํ์๊ฐ ์๊ฒ ํ๊ธฐ ์ํด์๋
import java.lang.*;
๋ฅผ ์ํด ์จ์ค์ผ ํฉ๋๋ค.
ํ์ง๋ง ์ด ๋ด์ฉ์ ๊ธฐ๋ณธ์ ์ธ default package ๋ก์, ์์ฃผ ์ฌ์ฉํ๊ธฐ ๋๋ฌธ์ ๋ฐ๋ก import ํ์ง ์์๋ ๋๊ฒ ์ค์ ๋์์ต๋๋ค.
๊ฐ์ฌํ ๋๋ฆ์ ๋๋ค.
์๋ฆฌ๋ฅผ ์๊ณ ๋๋, ์๋ฐ๊ฐ ์๋กญ๊ฒ ๋ณด์ ๋๋ค.
์ฆ, ์ด๋ฌํ ์ด์ ๋ก ์ธํด์ ์ฐ๋ฆฌ๋ ์ด๋ ๊ฒ ์ฝ๋ฉ์ ํ ์ ์์ต๋๋ค.
ํ์ฌ ๊ฒ์ํ ํ ์ด๋ธ์ ๋ง๋๋ ๊ณผ์ ์ ๋๋ค.
package kr.board.domain;
public class Board{
private int idx; // ๋ฒํธ
private String title; // ์ ๋ชฉ
private String contents; // ๋ด์ฉ
private String writer; // ์์ฑ์
private String indate; // ์์ฑ์ผ
private int count; // ์กฐํ์
}
private ์ผ๋ก ์ค์ ํ๊ธฐ ๋๋ฌธ์, ํฐ์นํ ์ ์์ต๋๋ค.
๋ฐ๋ก ๋ฐ์ดํฐ๋ฅผ ๋ฃ์ ์ ์๊ธฐ ๋๋ฌธ์ ๋๋ค.
๋ฐ์ดํฐ๋ฅผ ๋ฃ์ด์, getter ์ setter ๋ฉ์๋๊ฐ ์์ด์ผ ํฉ๋๋ค. Board ํด๋์ค์์์ ํ ๋ผ์ธ์์ ์ฐ์ธก์ ํด๋ฆญํ์ฌ source ์์ geneerate getters and setters ๋ฅผ ํด๋ฆญํ๋ฉด ๋ฐ์ดํฐ๋ฅผ ๋ฃ์ ์ ์๋ '์ '์ด ํ์ฑ์ด ๋ฉ๋๋ค.
์ด์ '์์'์ ์ฆ '๋ฐ์ดํฐ'๋ฅผ ๋ฐ๋ก '์ '์ ํตํด ๋ฃ์ ์ ์์ต๋๋ค. private์ผ๋ก ์ธํด ๋ค์๊ณผ ๊ฐ์ ์ค์ ์ ํด์ผ ํฉ๋๋ค.
์ด๊ธฐํ ์์ฑ์๊ฐ ํ์ํฉ๋๋ค.
๋ง๋ค์๋ ์๊ณ , ๋ง๋ค์ง ์์๋ ๋ฉ๋๋ค.
๋ฐ๊ตฌ๋๋ ๋ฐ์ดํฐ๋ฅผ ๋ฃ๊ณ , ์ฎ๊ธฐ๊ธฐ ํธํ๊ฒ ํ๊ธฐ์ํด์ ์กด์ฌํฉ๋๋ค. class ์์
getters and setters ์ธํ ์ฒ๋ผ, ์ฐํด๋ฆญ์ผ๋ก ๋ค์๊ณผ ๊ฐ์ด ๋ง๋ค ์ ์์ต๋๋ค.
๋ค์๊ณผ ๊ฐ์ด public Board์ ๋ค์๊ณผ ๊ฐ์ด ์์ฑ์๊ฐ ์์ฑ๋ฉ๋๋ค.
๋ํดํธ ์์ฑ์๋ฅผ ์ฌ์ฉํ์ง ์๋ , ์ฌ์ฉํ๋ ๋ฌด์กฐ๊ฑด ๋ง๋ค์ด๋์ผ ํฉ๋๋ค.
Spring ์์ ์ค์ํฉ๋๋ค.
์์ฑ์๋ง ๋ง๋ค๋ฉด ์๋ฉ๋๋ค. ๋ฌด์กฐ๊ฑด ์์ ๋ช ์์ ์ผ๋ก
public Board() { } ๋ก ๋ง๋ค์ด๋์์ผ ํฉ๋๋ค.
Spring ์ ํ๋ ์์ํฌ๋ก์, ์ฝ๋๋ฅผ ์ต๋ํ ์์ฐ๋ ๊ฒ์ด best์ ๋๋ค.
๊ทธ๋์ ์ฌ์ค ์์ฑ์๋ฅผ ๋ง๋ค ํ์๊ฐ ์๊ณ , setter ์ getter๋ฅผ ์๋์ผ๋ก ๋ง๋ค์ด์ฃผ๊ธฐ ๋๋ฌธ์, ์ฌ์ค์
๋ค์๊ณผ ๊ฐ์ ์ฝ๋๋ง ์์ผ๋ฉด ์์์ ์์ฑ์ด ๋ฉ๋๋ค.
์ฆ, ์์ฐ์ฑ์ด ๋์์ง๊ณ , ํด์ผํ ์ผ์ด ์ค์ด๋ค์ด, ๋ค์ํ ์ผ์ ํ ์ ์๊ฒ ํด์ค๋๋ค.
API ๊ฐ ์์ฒด์ ์ผ๋ก ์ฒ๋ฆฌํด์ฃผ๋ ์์คํ ์ด ๋ฐ๋ก Spring ์ ๋๋ค.
์ด๋ ๊ฒ Board VO๋ฅผ ์์ฑํฉ๋๋ค.
๊ฐ์ฒด์ธ Board๋ฅผ ๋จผ์ ๋ง๋ค์ด๋์์ผ ํฉ๋๋ค.
b๊ฐ Type ์ด Board๋ฅผ ๊ฐ๋ฆฌํค๊ธฐ ๋๋ฌธ์, ์ฆ ๊ฐ๋ฆฌํค๋ ๊ฒ์ด๋ค.
this ๋ ์๊ธฐ ์์ ์ ๊ฐ๋ฆฌํค๋ ํํ์ ๋๋ค.
b ๋ผ๋ ๋ณ์ ->
Board
๋ง์ง๋ง์ list.add(b) ๋ฅผ ํตํด ์ ๋ ฅ์ด ์ํ๋ฉ๋๋ค.
์ฌ๊ธฐ์
request.setAttribute("list", list) ๋ฅผ ์ํํ๋ฉด request ๊ฐ์ฒด์ ๋ฐ์ธ๋ฉ์ ์ํฌ ์ ์์ต๋๋ค.
๋ถํธ ์คํธ๋ฉ์์ ๋ง๋ค์ด ๋์ ํ ์ด๋ธ ํจ๊ณผ๋ฅผ ๋ฃ๊ณ ์ถ์ผ๋ฉด
์ด๋๋ฉฐ,
์ค๊ณฝ์ ์ด ๋์ค๋ฉฐ
๋ถํธ์คํธ๋ฉ ์ฌ์ดํธ ๋ค์ด๊ฐ์ css๊ฐ ๋ฌด์์ธ์ง ํ์ ํ๋ฉด ๋๋ค.
ํ ์ด๋ธ ๋ด์ ์๋ ๋ด์ฉ์ ์ถ๋ ฅํ๊ธฐ ์ํด์๋ ๋ฐ์ดํฐ๊ฐ ์๋ b์์ ๊ฐ์ ๋ถ๋ฌ์จ๋ค. ctrl + space ๋ฅผ ํตํ์ฌ ์ฌ๋ฌ ๊ฐ์ ๋ถ๋ฌ์ต๋๋ค.
์ง๊ธ list ์์๋ board ๊ฐ๋ค์ด ์์ต๋๋ค
๋ณ์๋ var๋ก ๋ฐ๊ธฐ ๋๋ฌธ์, ์์ var ๊ณต๊ฐ์ ๋ฃ์ต๋๋ค.
vo ๋ผ๊ณ ๋ง๋ค๋ฉด, ๊ฒ์ํ board ๊ฐ ์กด์ฌํฉ๋๋ค
${vo} ๋ ๊ฒ์ํ ์ ์ฒด์ด๋ฏ๋ก,
์ฌ๊ธฐ์ ๋ฒํธ๋ง์ ๊ฐ์ ธ์ค๊ณ ์ถ์ผ๋ฉด
${vo.idx} ๋ผ๊ณ ํฉ๋๋ค.
์ด๊ฒ์ <%= vo.getIdx() %> ๋ผ๊ณ ๋ด๋ถ์ ์ผ๋ก ํด์์ด ๋ฉ๋๋ค.(JSTL EL)
๋ฒํธ, ์ ๋ชฉ, ์์ฑ์, ์์ฑ์ผ, ์กฐํ์๋ฑ๋ ๋ชจ๋ JSPL EL์ ํ์ฉํ์ฌ
${vo.idx}
${vo.title}
${vo.wirter}
${vo.indate}
${vo.count}
์ ๋๋ค.
์ด๊ฒ์ด ๋ฐ๋ก ๊ฒ์ํ ๋ก์ง์ด๋ฉฐ ๋ค์๊ณผ ๊ฐ์ ์ฝ๋์์ ํด๋น ๊ฒฐ๊ณผ๊ฐ ์ถ๋ ฅ์ด ๋ฉ๋๋ค.
๋๊ฐ์ ๊ฐ 5๊ฐ๊ฐ ์ถ๋ ฅ์ด๋๋ฉฐ, ์ด๊ฒ์ด view(๋ทฐ)๋ฅผ ํ๋ ์ด์ ์ ๋๋ค.
JSP ๋จ์์๋ ์ด๋ฌํ ๋ด์ฉ์ ์์งํ๊ณ ์์ด์ผ ํฉ๋๋ค.
์๋ธ๋ฆฟ์ด DB์์ ๊ฐ์ ธ์์ JSP์ ํฌ์๋ฉํ๋ ๋ถ๋ถ ๊ณผ ๋ทฐ๋จ์์ ๋ค์๊ณผ ๊ฐ์ด ์ถ๋ ฅํ๋ ๋ถ๋ถ์ ์์งํ ํ์๊ฐ ์์ต๋๋ค.
JDBC ์ฝ๋๋ฅผ ์ง์ง ์๊ธฐ ๋๋ฌธ์, ์ฌ์ค์ ์ฝ๊ฒ ์ฝ๋๋ฅผ ์์ฑํ ์ ์์ต๋๋ค.
์ดํด๋ฆฝ์ค์์๋ MVC๋ ์น์ ์คํํ ์ ์๊ธฐ ๋๋ฌธ์, ์คํ๋ง๋ถํธ๋ก ๋์ด๊ฐ๊ธฐ ์ํด์๋ STS Tool(Spring Tool Suit) ๋ฅผ ์ฌ์ฉํ๊ฑฐ๋ eGovFrame 3.10 V ์ ์์ ๋ถํ๋ ์์ํฌ๋ฅผ ์ฌ์ฉํด์ผ ํฉ๋๋ค.
์ ์์ ๋ถํ๋ ์์ํฌ
๊ณต๊ณต๊ธฐ๊ด์์ ์ฌ์ฉํ๋ ํ๋ ์์ํฌ๋ก์, ์์ถ์ ์งํํ๋ค๊ณ ํฉ๋๋ค. ๋ฒ ํธ๋จ,๋ฏธ๊ตญ ๋ฑ๋ฑ
ERP๋ฅผ ํ๋ฒ์ ์์ฑํ ์ ์๊ธฐ ๋๋ฌธ์ ๋๋ค.
์ ์์ ๋ถํ๋ ์์ํฌ๋ฅผ ๋ค์ด๋ก๋ ํ๋ ๋งํฌ๋ ๊ตฌ๊ธ์ ๊ฒ์ํ๋ฉด ๋ฉ๋๋ค.
๋ค์ด๋ก๋ ์ดํ exe ํ์ผ์ ๋ฐ๋์ง์ผ๋ก ํ์ด์ฃผ๋๋ก ํฉ๋๋ค.
์ดํ์,
eGovFrame ๋ผ๋ ํ์ผ์ ์คํํ์ฌ ํ๋ก๊ทธ๋จ์ ์คํ ํ ์ ์์ต๋๋ค.
๋ค์ ํ์ผ์ ๋๋ค.
์ ์ค์ผ์ด์ค, ER ๋ค์ด์ด๊ทธ๋จ ๋ฑ์ ๋ง๋ค ์ ์์ต๋๋ค.
ER ๋ค์ด์ด๊ทธ๋จ(์ํฐํฐ-๊ด๊ณ ํ๋ก๊ทธ๋จ)์ ๋๋ค.