Java 기반 클라우드 융합 개발자 과정 - KH 정보교육원/8월

22.08.09 - [ WAS ] 게시글 상세보기 페이지 작업 ( feat. 조회 수 증가 )

giggs 2022. 8. 30. 10:44

 

 

-- Index --

 

1. 화면 디자인 2. 상세페이지 요청하기 3. 서블릿으로 요청 처리 4. 조회 수 증가, 게시글 조회, 포워딩 5. 화면 보여주기 
테이블로 레이아웃 클릭 이벤트 활용 url패턴과 쿼리스트링 전달받은 특정 게시글 번호활용해서 작업 전달받은 data활용해서 작업

 

 

 


 

 

 

공지사항(notice) 상세 조회해보기

 

 

 

 

1. 화면부터 만들어보기!

 

 

 


 

 

 

2. 상세페이지 요청 하기 - ( 버튼, 쿼리 스트링 활용 )

  • 서블릿 만들엇으니 서블릿에게 요청 보내는 버튼 만들면 되겠죠.
  • 언제 상세페이지로 넘어가게 해 줄 것이냐?
  • 공지사항 목록에 있는 글 클릭했을 때 그거에 맞는 화면 보이게 넘어가게 해 준다.
  • 요청 보낼 때 몇 번 글인지도 알려주면서 요청을 보내야 한다.
  • 쿼리 스트링을 활용해서 보내주자

 

 


 

2-1 해당 행이 클릭되었을 때, 동작할 내용 이벤트 걸어주기

 

 


 

3. 상세 페이지 보여주는 서블릿 만들기

 

 


 

서블릿으로 요청 잡아서 상세 페이지로 포워딩까지 해주면 작업 완료!

 

추가 작업들 해보자

 

 


 

 

4. 조회 수 늘려주기

  • 상세 조회할 때 조회수 늘어나게 체크해주기
  • # 상세페이지 보여주는 서블릿이 요청을 처리하는 곳에서 수정 작업 시작!
  • 그냥 상세페이지로 연결시켜줘서 보여준다고 끝이 아니다.
  • 1. 조회수 증가 -( 조회수 증가되면 다음 작업 이어지도록 해주자 )
  • 2. 특정 공지사항에 맞는 data를 가져와서 작업해주고 넘겨주어야 한다.

 

 

 


 

 

4-1 조회 수 증가

  • 여기 안되면 뒤에 이어지는 작업들 할 필요 없다
  • 넘겨받은 해당 게시글의 번호 가지고 조회 수 증가하는 작업 시작
  • 해당 게시물의 cnt = cnt + 1; ( UPDATE 작업 수행 )

 

 

 


 

 

4-2 특정 공지사항 정보 조회 시작

  • 넘겨받은 해당 게시글의 번호가지고 글 번호에 맞는 data 가져오기
  • Service레이어에서 select 한걸 가지고 커밋/롤백은 안 해도 된다! - 할 게 없다.
  • DAO레이어에서 실행결과가 resultset으로 나오니까 obj로 바꿔주는 작업 필요
  • DAO레이어에서 WRITER가 번호로 나오니까 이름이 나오도록 join문 필요(별칭 필요)

 

 

 


 

4-3 가져온 특정 게시글 data를 다음 타자에게 전달

 

  • 결과에 맞춰서 req객체에 담아서 다음 타자에게 포워딩 

 

 

 

 


 

# 정리

  1. 특정 게시글의 상세페이지를 요청받아서 ( 클릭이벤트로 작동 )
  2. 해당 게시글의 조회 수 증가가 완료되면 ( UPDATE )
  3. 해당 게시글의 data를 가져와서 객체에 담아서 ( SELECT )
  4. 실행 결과에 따라 다음 타자 선택 ( 성공하면 data 담은 객체 전달, 실패하면 에러 페이지로 )

 

이러면 백엔드 작업은 끝!

 

 


 

화면 쪽 작업 살펴보자.

 

 

5. 서블릿으로부터 전달받은 data로 화면 보여주기

 

 

5-1 포워드로 넘어온 request에 담겨있는 vo 객체 가져오기

 

 

 


 

5-2 가져온 vo 객체 활용해서 화면에 보여주기

 

 

 

 

여기까지 하면 화면 작업까지 완료!