-- Index --
DB에 저장된 데이터로 공지사항 게시판 보여주기
- 1. 백엔드 작업 ( Controller - Service - DAO ) - ( SELECT 작업 )
- 2. 화면 작업 ( JSP )
지금은 공지사항에 우리가 작성한 내용 보여주는 걸로 되어있지만
이제 실제 DB에서 가져온 데이터로 가져오도록 수정하기
1. 백엔드 작업 ( Controller - Service - DAO )
1-1. 순서체크 겸 작업 흐름대로 세팅해 놓기
1-2 서블릿 부터 시작
#1. 화면으로부터 전달받은 data는 없으니 – data 꺼내고 뭉치는 작업은 생략
#2. 서비스 호출
- 실행결과가 NoticeVo로 나오긴 할 텐데 객체 하나만 나오는 것이 아니다.
- ArrayList<NoticeVo> 로 리스트에 담기
- NoticeVo == 게시글 담고있는 객체 ( 게시글 1개마다 1개의 객체가 계속 생성될 것이다. )
- ArrayList == 게시글담고있는 객체를 리스트 형태로 가지고 있다.
#3 실행 결과에 따라 화면 선택
- 여기서는 화면 선택 할 것은 없다.
- 화면 선택이라는 작업명 보다 화면 만들기가 더 적절.
- 보내기 전에 req객체에 게시글 객체 담아놓은 - voList 세팅해서 - forward 하기
1-3. 서비스 레이어 시작
- # 비즈니스 로직 할거 없으니 패스
- # DAO 호출
- #실행 결과 리턴
- select 할 거니까 커밋/롤백은 필요 없다.
- close 해주기 위해 try/catch/finally 작성
1-4. DAO 레이어 시작
#1. 최신 글 먼저 보이게 해 주기 - ORDER BY ENROLL_DATE DESC
#2. 날짜 가져오는 부분 수정
- 날짜를 String으로 가져왔을 때 밀리초까지 다 나온다 이거 해결해주기 – SQL에서 처리
- SELECT 문에서 수정 --- #별칭은 key값에 맞춰 꼭 부여하기
#3. 작성자 번호가 아닌 작성자 닉네임을 표시해주도록 해주기
- 현재 작성자 번호를 보여주고 있는데, join을 이용해서 닉네임 보여주기
- join문 사용할 경우 같은 칼럼 있는 경우 방지 필요 --- 어느 테이블의 칼럼인지 표시 필요
- N.WRITER는 회원번호로 숫자 보여주는 거 필요 없다 – 없애버리고 JOIN 한 M.NAME 사용
- 별칭으로 WRITER 해주어서 JAVA 쪽에서 조회할 때 key값으로 - WRITER 잘 가져가도록 해주기
#4. 게시글은 한 번 가져오고 끝이 아니다. 게시글 있는 만큼 가져올 수 있도록 처리하기.
- while(rs.next()) {} - 다음 실행결과 있는 경우에 계속 반복되도록 if대신 while로!
#5. 실행결과인 resultSet을 자바 객체로 변환해주는 과정 필요
- 객체 생성 - vo = new NoticeVo();
- 객체에 data 담기 - vo.set() 작업
2. 화면 작업 ( JSP 파일 )
2-1. 컨트롤러에게 forward로 전달받은 결과물 ArrayList 가져오기
- voList 에는 게시글 data 담고 있는 객체들이 한 칸 한 칸 담겨있다.
2-2. 가져온 객체에서 data 출력해주기
여기 내용을 동적으로 만들어주면 된다..
얼만큼?
voList.size() 만큼 ( = 게시글 수 만큼 )
'Java 기반 클라우드 융합 개발자 과정 - KH 정보교육원 > 8월' 카테고리의 다른 글
22.08.08 - [ WAS ] 총 복습 및 세미프로젝트 진행 (0) | 2022.08.30 |
---|---|
22.08.05 - [ 9차 시험! - 서버 프로그램 구현 ] (0) | 2022.08.18 |
22.08.03 - [ WAS ] 버튼 - ( 작동 여부 , 보여주기 여부 ) 기능 (0) | 2022.08.10 |
22.08.02 - [ WAS ] 부트스트랩 - 모달창활용해서 비밀번호 변경하기 (0) | 2022.08.10 |
22.08.01 - [ WAS ] getContextPath() , 페이지 요청 조건 제한 , 정보변경(UPDATE) (0) | 2022.08.09 |