✔️ 코딩 노트
공지 게시판 만들기
1. SQLDeveloper로 접속해서 NOTICE_TBL 생성, NOTICE_NO 시퀀스 생성
2. Controller, Service, DAO 패키지 생성 후 각각의 클래스 생성
- NoticeController, NoticeService, NoticeDAO, Notice
3. Notice VO 클래스 생성
- 필드 생성 -> NOTICE_TBL의 컬럼명 참고, 컬럼명을 낙타표기법으로 변경해서 만들어줌
- 생성자 생성
- getter, setter, toString, ...
4. 내가 만들 기능의 쿼리문 생각해보기
- INSERT 쿼리문 생각해봄 -> 매개변수, 리턴타입은 int
- (DML - int, SELECT - List, VO, int)
5. 쿼리문을 생각해보니 입력을 받아야 하는데 그럴러면 VIEW가 필요함
- insert.jsp 만들기
- insert.jsp에는 Form태그 (Action, method), Action은 컨트롤러와 관련이 있음.
- action은 url 설계, 그 방법은 주제/기능명 ex) notice/register.do
- method는 get, post인데 get방식은 쿼리스트링이 url보이고 post는 안보임의 차이
- 쿼리스트링은 form>input[name=키값]으로 만들어짐
6. 설계한 url을 바탕으로 컨트롤러(Servlet) 생성
- 한글이 깨지지 않도록 인코딩 처리
- Servlet 이름 작성 및 url mapping 작성(form태그의 action값과 일치)
7. 생각했던 쿼리문에 따라 NoticeService에서 호출할 메소드를 만들고(NoticeService 객체는 만든 후)
- 매개변수가 있으면 쿼리스트링을 처리하여 객체화 해줌(Notice 또는 변수에 담기)
- 리턴값을 통해서 성공여부에 따라 페이지 이동 또는 성공/실패 페이지 출력함.
8. NoticeService에서 메소드를 만들어줌.
- DB 연결 생성
- DAO 호출(연결도 넘겨줌)
- 성공여부에 따라 COMMIT/ROLLBACK(트랜잭션 처리에 필요함) 해줌.
- DB 연결도 닫아줌
9. NoticeDAO에 메소드를 만들어줌. 넘겨받은 연결을 통해서 쿼리문 실행준비, 쿼리문 실행 및 결과 받기, 자원해제
결과 후처리한 다음에 결과값 리턴(DML - int, SELECT - List, VO, int)