jsp 게시판 만들기 가이드라인 by **현민**
========================================================================
Database 생성 부분
↓ ↓ ↓ ↓ ↓ ↓ ↓
1. mariadb 접속 후 데이터베이스 생성
타입과 키값, 옵션들 생각! ( hint : auto_increment, primary key, default now(), not null )
========================================================================※ 틈틈히 자기가 한 부분까지 잘되는지 실행 해볼것.
※ 흐름은 맞지만 이거만 100%따라하면 안됨 뭔가 빠졌는데 하는 부분 있음 (디테일하게 안적은 부분 있음)
갈수록 덜 디테일해짐
========================================================================
eclipse
↓ ↓ ↓ ↓ ↓ ↓ ↓
1. dynamic web project 생성
db jdbc driver와 jstl.jar 파일을 톰켓 lib에 넣기
web-inf 폴더안에 view 폴더 생성 -> list.jsp 생성
list.jsp에 a태그로 글쓰기 서블릿으로 가는 문장 만들기
list(get)서블릿에서 list.jsp로 가는 문장 만들기
write.jsp 생성 -> write.jsp로 갈수 있는 서블릿만들고 문장 만들기
write.jsp에서 제목과 내용을 작성할 수 있는 form태그 만들기 (
submit누를시 post방식으로 write서블릿으로 가도록)
BoardVO.class 파일 생성 -> iboard, title, content, reg_date선언 getters and setters 생성
DbUtil.class 파일 생성 -> 전에 쓰던 파일 복붙 가능 (database명이 달라졌으면 url부분 수정)
다시 7번부터 이어서 write(post)서블릿에서 어떤 값을 받을지 생각하고 작성
BoardVO 객체 생성, setter이용하여 값 담기
BoardDAO파일 생성 -> insert(static)하는 메소드 작성 (인자값으로 무엇을 받을지 리턴값을 무엇을 할지 생각)
write(post)서블릿에서 insert메소드 호출 -> list(get)서블릿으로 이동하는 문장 작성
list서블릿에서 list.jsp가기 전 모든 게시글을 가지고 가야 하므로 DAO파일에서 allSelect(static)메소드생성
(인자값과 리턴값 생각)
list(get)서블릿에서 allSelect메소드 호출 -> setAttribute
list.jsp에 table태그 작성 tr th, td
<c:foreach>문 활용 전체 게시글 뿌리기
foreach tr태그에 작성
script문을 통해 moveToDetail 함수 정의
detail 서블릿, detail.jsp 생성
detail(get)서블릿에서 어떤 값 받을지 생각 하고 작성
detail에서 한 게시물만 가져올 getSelect(static)메소드 작성 (인자값과 리턴값 생각)
setAttribute 담기
detail.jsp에서 해당 글의 title과 content이 value값으로 보여야함
detail.jsp에 삭제와 수정할수 있는 A태그 작성 (해당 서블릿으로 갈때 어떤 값을 들고가야할지 생각)
(hint : 쿼리스트링)
del서블릿 생성 -> 쿼리스트링에서 사용한 키값 받고 dao에서 deleteBoard메소드 작성 (인자값과 리턴값 생각)
del(get)서블릿에서 deleteBoard메소드 호출 후 list(get)으로 이동하는 문장 작성
update서블릿과 update.jsp 생성 -> update(get)서블릿에서 iboard값 받기
getSelect메소드 호출하고 setAttribute에 담기
update.jsp에서 write.jsp와 동일하게 폼태그 작성 (title과 content에 value값으로 나타나도록)
method : post, action : /update post방식이기때문에 쿼리스트링이 안됨
update(post)서블릿에서 값 받기 -> dao에서 updateBoard메소드 작성 (인자값과 리턴값 생각)
update(post)서블릿에서 updateBoard메소드 호출 ->
detail(get)서블릿으로 이동! 이동할때 어떤값 가져갈지 생각
게시판 완성
★ 지금 게시판에 중요한 부분은 프로그램이 돌아가는 흐름(구조)과
dao에서 메소드를 만들때 리턴값과 인자값에 뭘 넣어야하는지
이 2가지가 핵심인듯
구구절절 적은거라 틀린 부분 있을 수도...?? 괜히 보고 혼돈되셨으면 죄송합니다
홍준 설명 :
BoardDAO는 기능을 모아둔 곳 / DBUtils는 DB랑 연결해준 곳
리턴해주는 함수인 getCon를 불러줘라 (기능을 쓸 때도 getCon을 불러줘라)
close함수까지 구현해줘야한다
ps에 select가 아닌 insert, delete가 담기면 rs는 실행 X
역순인 이유 : connection을 젤 늦게 끊어줘야해서
setAttribute 일종의 클라우드에 값을 던져주는 것 - list란 이름으로 list에 주는 것 - > list.jsp에서 EL식으로 다시 쓰는 것
클라우드 종류 2개 : Parameter / Attribute(직접)
글쓰기 title,cnt는 parameter 클라우드에 준다
getParameter 클라이언트(웹)에게 값을 받을 때