LANGUAGE/JSP

MVC패턴 #2-2 게시판

옐옐루 2022. 6. 17. 16:08

MVC패턴 게시판 #1번 

 

 

MVC 패턴 #2-1 게시판 만들기

MVC 패턴을 이용하여 게시판 한번 짜보기 * 순서 헷갈릴 경우 좀 더 순서 공부 다시 하기 1.     글목록 list.do 요청 → BFrontController(글목록로직분기) → BListService(DAO에 글목록 생성 요청) → BDa..

tjqud531531.tistory.com

 



mvc 패턴 게시판 이어서 진행

 

4단계 index.jsp를 생성하기

dlist.do

list.do 형태의 Controller (서블릿)으로 향할 수 있도록 forward 페이지 작성해주기 

 

5단계 Controller 서블릿 생성해주기 

 

1. @WebServlet("*.do) 매핑 바꿔주는 작업 진행

 

2.  doPost 단에 request.setCharacterEncodint("utf-8")로 바꿔주기

 

3. actionDo 생성해주기 [자세한 설명은 FrontContloller 참고하기]

 

    ㄴ1) uri, conPath, command 설정해주기 

 

    ㄴ2) String viewPage = null; (뷰단 생성하기) / String service = null;(인터페이스로 한번 감싸는 것 ) 

      여기까지 진행한 후 service 인터페이스 만들고 오기 

 

ㄴ5-1단계 Service Interface 만들고 오기

execute 이름을 가진 메소드 , request와 response를 매개변수로 가지며 리턴값은 상관 없으니 void 형태로 생성

        *생성완료 후 다시 5단계의 3)으로 넘어가기 

 

ㄴ 3)if문작성해주기 if(command.equals("/list.do")

 

ㄴ 4)if문 안에 service = new BlistService(); 생성해주기 

   여기까지 진행한 후 BListService class 만들어주기 (Service 인터페이스를 임플리먼트한)

 

ㄴ5-2단계 BListService class 만들고 오기

// list.do 또는 list.do?pageNum=2 또는 list.do?pageNum=10 형태가 들어갈 수 있도록 !

-- 1. 페이징 하는 기법들 넣어 주기  #1

페이징 전 startRow와 endRow 받아오기

--2. dao 불러오고, request객체에 dao에있는 listboard 담아주기 

--3. 페이징 하는 기법들 넣어주기 #2

startPage와 endPage 만들어놓기

 

** JSP단에 필요 한 아이 : startPage와 endPage , startPage보다 block사이즈가 큰 아이라는 내용이 나와야 되기 때문에 blcok사이즈도 jsp에 필요.  currentPage도 필요, "list"도 필요  , 다음 버튼 누를때도 pageCnt가 필요하기 때문에 

jsp단에 필요한 애들 전부 request에 담아주기 

--4. 필요한 애들 reqeust객체에 담아주기 

*여기까지 하고 5단계 5)로 넘어가주기 

 

  ㄴ 5) if문 안에 만들어 놓은 BlistService 불러 오고, forward 시키기 

BlistService 불러오는 방법

 

ㄴ5-3단계 list.jsp 만들고 오기(list 부분 게시판 뷰단 만들기)

글쓰기 부분 쓰는 뷰단 만들기

아래에 list 뿌릴 테이블 생성하기  

타이틀 뿌리기

(들여쓰기 등의 로직을 신경쓰면서 c태그를 이용한 for문 돌리기)

<c:forward>태그를 활용해서 for문 돌리면 됨 -- 테이블 생성 하기 

for문의 i가 0일땐 들여쓰기 안하고 1일때부터 들여쓰기 

//들여쓰기 한번 하는 경우 

//들여쓰기 두번 하는 경우

(스페이스)ㄴ

//들여쓰기세번하면

(스페이스)(스페이스)ㄴ

list.size가 0일경우엔 해당 페이지 글이 없습니다
list.size가 0이 아닐땐 뿌리는 부분 생성해주기

 

테이블 밖에 paging 하는 div 생성하기 

--1. 이전버튼 생성하기

--2. 내가 클릭한 페이지는 빨간색으로  굵기로 

--3. 내가 선택하지 않은 페이지는 그냥 검정색으로

--4. 다음버튼 생성하기 

view 단에서 paging 생성하기

 

6단계 write_view.do 만들기 

ㄴ 만들기 전에 BoardController 가서 else if 문에 write_view.do 해주고, viewPage에 write_view.jsp로 가는거 만들어 주기 

ㄴ board/write_view.jsp 생성해주기 

ㄴ action 태그에 write.do 로 갈 수 있도록 연결 해주기 

 

7단계 write.do 처리 하러 다시 controller 돌아가서 service = BwriteService() 해주기 

 

8단계 BwriteService 클래스 만들어주기

1) 필요한 파라미터들 먼저 받아와주기 (input 에다가 넣어놓은 파라미터들을 받아온 뒤 dao 에 넣어줘야함)

2) dao 생성하고 request 객체 안에 insertBoard 심어주기 

9단계 Controller로 돌아가서 8단계에서 생성해준 아이 호출하기 

 

10단계 BwriteService에 만들어 놓은 writeResult가지고 list.jsp로 돌아가서 table 위에다가 alert 창 뿌려주기 


*** 문제는 form태그를 들렸을때만 저장이 되어야 하는데 

실행화면

write.do가 되어있어서 새로고침하면 글을 또 저장함 

글쓰기를 할땐 form태그에서 왔냐? 그럼 저장해 ! 이 로직이필요함

form태그(view)단을 갔다 왔는지 안왔는지 확인할 필요가 있기떄문에 controller로 향해서 controller의 맨 위에 변수 선언해주기 

다시 /write.do 단으로 가서 안에 if절 하나 추가해주기. write_view가 true일때만 실행하라! 

i


11단계 content_view.do 만들러 가기 Controller 에 

요놈 추가해주고 service class 생성해주기 

 

12단계 com.lec.service 에 BContentService 단 만들어주기 

컨트롤러로 다시 돌아가서 execute 호출 해주기 

viewPage = "board/content_view.jsp" 해주기

요놈 추가해주고 content.jsp단으로 넘어가서 view 단 만들어주기 

 

13단계  board/content_view.jsp 생성하기 

-- view 단으로 가서 BcontentService에 만들어준 request 객체 content_view 뿌려주면 됨 

- oncllick 할때 넘겨줄 거 다 넘겨줘야함 

 

14단계 Modify

 1)controller 에 modify_view.do 만들어주고, 안에 service = new BModifyViewService();

2) com.lec.service / BModifyViewService class 생성해주기 

c

3) controller에서 modify_view.do 완성하기

4)/modify_view.jsp 생성해주기 

-- 글 번호를 뿌리긴 할건데 수정은 안하게 할거니 readonly 를 하면됨 (hidden으로 넘겨줘도 됨)

-- pageNum 을 hidden으로 뿌려주기 

5)Controller/modify.do 만들기

 

6) BModifyService 만들기 

 

7)modify.do 완성하기  

 

 

 

15단계 Delete 

 1) delete.do 만들기 

 2) BDelteService 만들기 

-- 컨트롤러 돌아가서 delete.완성하기  

-- 리스트 에서 alert 뿌려주기 

 

 

16단계 답변글 로직 

--reply_view.do

--BReplyViewService 만들기 

 

--컨트롤러 완성하기 

reply_view.jsp 만들기 

**원글정보가 필요한 애들은 hidden 형태로 넘겨주기 

- -테이블 만들기 

 

--reply.do만들어주기 

--BReplyService 만들어주기

--reply.do완성하기 

--list.do 설정하기

 

 

 

반응형

'LANGUAGE > JSP' 카테고리의 다른 글

MVC 패턴 #2-1 게시판 만들기  (0) 2022.06.16
MVC 패턴 #1  (0) 2022.06.16