---------------------------------------------------------------웹페이지 기능 구현 이어서--------------------------------------------------------------
- 4 - 상세 페이지 구현
세션을 활용하여 세션에 같은 id 기록이 있으면 조회수가 한번만 증가할 수 있도록 설정
if문 → 세션 생길 때 만들어진 boardViewHistory 속성을 가져와 history에 저장 하는데, 만약 history에 해당 id 가 없다면,
서비스의 upViewCnt 메서드를 이용해 조회수를 올리고 history 에 id 를 추가하고 변경된 history 값을 다시 세션의 boardViewHistory 속성을 설정한다.
---조회수를 먼저 올린 후 올려진 값이 반영된 값을 getData 하는 것이 로직 순서에 맞음 (이 값을 data 라고 저장)
(현재 코드에서 upViewCnt 는 boolean 말고 void 로 변경하여 반환값 없애도 된다)
dao 의 selectData 질의한 것을 data 로 저장 / dao 의 updateViewCnt 로 질의한 것을 count로 저장해 값에 따라 true,false
selectData 와 updateViewCnt 모두 dto 객체를 전달하니 parameterType 은 model.dto.BoardDTO 가 된다.
selectData 는 게시글 테이블에서 해당 id 의 id, btype, title, writer, context, createDate, updateDate, viewCnt 조회
updateViewCnt 는 게시글 테이블에서 해당 id 의 viewCnt(조회수)를 1 증가시킴
- 4 - 추가 페이지 구현
사용자가 입력한 title 과 context 정보를 dto 객체에 담고, 세션에서 user 정보를 가져와 userId를 작성자로 담고, 게시글 타입은 B (일반게시글) 로 기본 설정한다.
정상적으로 글이 추가되면 추가 글의 상세페이지가 나오고 추가 되지 않으면 다시 글 추가 페이지로 돌아감
sequence 를 활용하여 추가글 id 설정.
- 4 - 수정 페이지 구현
수정페이지도 세션에 접근하여 로그인계정과 작성자가 일치한지를 확인하여 수정이 가능하도록 한다.
사용자가 입력한 수정 내용을 가져와 저장한다. 여기서도 로그인계정과 작성자가 같은지 다시 확인한다.
- 4 - 삭제 기능 구현
마찬가지로 사용자계정과 작성자가 일치할 시에만 삭제 가능하도록 한다.
계정과 작성자가 일치할 때, 삭제가 정상적으로 작동하면 게시판 목록 페이지를 반환하고 정상적으로 작동하지 못하면 다시 해당 글의 상세페이지를 반환한다.
계정과 작성자가 일치하지 않으면, 에러 페이지를 반환한다.
'국비' 카테고리의 다른 글
01.31 국비학원 82일차 (평가9) (0) | 2023.02.01 |
---|---|
01.30 국비학원 81일차 (jsp페이지 모듈화, 계정별 role 부여, 관리자 페이지) (0) | 2023.01.31 |
01.26 국비학원 79일차 (게시글-목록페이지) (0) | 2023.01.27 |
01.25 국비학원 78일차 (페이징 클래스 생성 후 적용) (0) | 2023.01.26 |
01.20 국비학원 77일차 (필터, 페이징) (1) | 2023.01.24 |