JSP - DB 연결까지

Jiyeong·2021년 5월 4일
0

JSP

목록 보기
6/13
jsp 게시판 만들기 가이드라인 by **현민**

========================================================================

 Database 생성 부분

↓ ↓ ↓ ↓ ↓ ↓ ↓
1. mariadb 접속 후 데이터베이스 생성

  1. Board테이블 생성 (테이블 생성시 iboard, title, content, reg_date)
    타입과 키값, 옵션들 생각! ( hint : auto_increment, primary key, default now(), not null )
    ========================================================================

※ 틈틈히 자기가 한 부분까지 잘되는지 실행 해볼것.
※ 흐름은 맞지만 이거만 100%따라하면 안됨 뭔가 빠졌는데 하는 부분 있음 (디테일하게 안적은 부분 있음)

갈수록 덜 디테일해짐

========================================================================
eclipse
↓ ↓ ↓ ↓ ↓ ↓ ↓
1. dynamic web project 생성

  1. db jdbc driver와 jstl.jar 파일을 톰켓 lib에 넣기

  2. web-inf 폴더안에 view 폴더 생성 -> list.jsp 생성

  3. list.jsp에 a태그로 글쓰기 서블릿으로 가는 문장 만들기

  4. list(get)서블릿에서 list.jsp로 가는 문장 만들기

  5. write.jsp 생성 -> write.jsp로 갈수 있는 서블릿만들고 문장 만들기

  6. write.jsp에서 제목과 내용을 작성할 수 있는 form태그 만들기 (
    submit누를시 post방식으로 write서블릿으로 가도록)

  7. BoardVO.class 파일 생성 -> iboard, title, content, reg_date선언 getters and setters 생성

  8. DbUtil.class 파일 생성 -> 전에 쓰던 파일 복붙 가능 (database명이 달라졌으면 url부분 수정)

  9. 다시 7번부터 이어서 write(post)서블릿에서 어떤 값을 받을지 생각하고 작성

  10. BoardVO 객체 생성, setter이용하여 값 담기

  11. BoardDAO파일 생성 -> insert(static)하는 메소드 작성 (인자값으로 무엇을 받을지 리턴값을 무엇을 할지 생각)

  12. write(post)서블릿에서 insert메소드 호출 -> list(get)서블릿으로 이동하는 문장 작성

  13. list서블릿에서 list.jsp가기 전 모든 게시글을 가지고 가야 하므로 DAO파일에서 allSelect(static)메소드생성
    (인자값과 리턴값 생각)

  14. list(get)서블릿에서 allSelect메소드 호출 -> setAttribute

  15. list.jsp에 table태그 작성 tr th, td
    <c:foreach>문 활용 전체 게시글 뿌리기

  16. foreach tr태그에 작성
    script문을 통해 moveToDetail 함수 정의

  17. detail 서블릿, detail.jsp 생성

  18. detail(get)서블릿에서 어떤 값 받을지 생각 하고 작성

  19. detail에서 한 게시물만 가져올 getSelect(static)메소드 작성 (인자값과 리턴값 생각)

  20. setAttribute 담기

  21. detail.jsp에서 해당 글의 title과 content이 value값으로 보여야함

  22. detail.jsp에 삭제와 수정할수 있는 A태그 작성 (해당 서블릿으로 갈때 어떤 값을 들고가야할지 생각)
    (hint : 쿼리스트링)

  23. del서블릿 생성 -> 쿼리스트링에서 사용한 키값 받고 dao에서 deleteBoard메소드 작성 (인자값과 리턴값 생각)

  24. del(get)서블릿에서 deleteBoard메소드 호출 후 list(get)으로 이동하는 문장 작성

  25. update서블릿과 update.jsp 생성 -> update(get)서블릿에서 iboard값 받기

  26. getSelect메소드 호출하고 setAttribute에 담기

  27. update.jsp에서 write.jsp와 동일하게 폼태그 작성 (title과 content에 value값으로 나타나도록)
    method : post, action : /update post방식이기때문에 쿼리스트링이 안됨

  28. update(post)서블릿에서 값 받기 -> dao에서 updateBoard메소드 작성 (인자값과 리턴값 생각)

  29. 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 클라이언트(웹)에게 값을 받을 때

profile
깃스타가 되고 싶은 벨플루언서

0개의 댓글