-
KOSTA 교육 52일차(Semi-Project, update, delete, select, session, choose-when-otherwise)Review 2020. 6. 24. 00:39
19. 1. 18(금)
실습 내용
- session
- update / select
- delete
1. session
- session을 생성하여 프로젝트와 Post의 번호를 저장한다.
- 어떤 메소드던 Controller를 무조건 거쳐가기 때문에 프로젝트, Post의 번호를 가지고 있다면 삭제 후 가져가게 된다.
2. update
- insert된 마감일을 수정하는 역할을 한다.
- d_day 테이블에 있는 정보를 p_no를 조건으로 출력한다.
- DdateDTO 객체를 가지고 수정하는 메소드 생성
- p_no를 가져와 객체를 출력하는 메소드 생성
- 수정된 Ddate를 Mapping한다.
- ddateDTO에 Mapping 한다.
- p_no를 가져오는 session을 생성하여 p_no의 마감일을 객체에 담고 return한다.
- 가져온 마감일을 setAttribute를 통해 DTO 객체에 담고 Form.jsp로 dispatcher한다.
- 처리한 로직들을 forward한다.
- Form에서 가져간 마감일을 수정할 수 있다.
- 수정을 누르면 해당 Post에 대한 마감일이 출력된다.
- 이제 수정버튼을 누르면 수정한 날짜를 입력한 마감일이 Post에 입력되어야 한다.
- d_day 테이블의 d_date를 p_no를 조건으로 수정한다.
- DdateDTO 객체를 가지고 수정하는 메소드 생성
- DdateDTO 객체를 생성하여 Mapping한다.
- session 객체를 출력하여 p_no를 가져올 수 있도록 한다.
- 가져온 p_no와 마감일은 ddateDTO에 set 해준다.
- 만약 수정할 마감일이 없을 수 있기 때문에 detailDdate(마감일의 내용)이 있다면 Form에서 입력한 마감일을 set하여 dao로 Mapping하면 되겠다.
- 또한 마감일의 내용이 없을 수 있기 때문에 해당 이유의 경우에는 insert 메소드를 Mapping하여 생성해주면 되겠다.
- service 객체를 호출하여 로직을 호출한다.
- 다시 Post의 내용들을 출력하기 위해 Controller로 갈 수 있도록 sendRedirect 해준다.
- 처리한 로직들을 forward한다.
- 수정 시 출력되는 결과 값
- 마감일이 없을 때 생성되는 결과 값
3. delete
- 생성되어있는 마감일을 삭제한다.
- d_day 테이블에 있는 p_no를 삭제한다.
- p_no 파라미터값을 가지고 삭제한다.
- 삭제할 마감일에 대해 Mapping한다.
- session을 생성하여 p_no를 가져와 delete 한다.
- service 객체를 생성하여 메소드를 호출한다.
- Post의 detail로 넘어간다.
- 삭제된 마감일을 forward한다.
- 삭제된 결과 값
- 디데이를 표시해주기 위해서 choose when otherwise를 사용하였다.
- d_date(마감일)이 있다면 d_day를 표시해준다.
- 만약 없다면 마감일이 없다고 표시해준다.
오늘 실습 간 느낀점
마감일을 삽입, 출력한 어제에 이어서 오늘은 수정과 삭제를 구현하였다.
어제의 코드도 많이 어려웠지만 오늘도 쉽지 만은 않았다.
제일 고생했던건 마감일을 수정하려 할 때 수정버튼을 클릭하면 기존에 있던 마감일이 뜨지 않아서 원인을 찾다가 jsp로 가는 forward가 sendRedirect로 가버리는 바람에 값이 출력되지 않아서 dispatcher처리를 통해서 보냈더니 출력이 되었다.그리고 마감일이 없을 때 insert처리를 통하여 마감일을 입력하는 코드를 생각하고 구현하는데 머리에 통증을 느꼈다. 알고보면 정말 간단하지만 막상 구현하려고 하면 떠오르지 않는 문법들과 코드들 때문에 항상 고생인데 아마 기본기가 제대로 되어있지 않아서 생기는 문제같다. 구현도 구현이지만 항상 기본을 생각하면서 코딩을 해야겠다.
그리고 session을 직접 사용해보면서 사용하는 상황을 이해해서 좋은 시간이었다. choose when문 또한 사용함으로서 이해하였다.
1주일 동안 내가 해야될 역할과 시간상 해결하지 못한 다른 조원의 기능을 받아 구현해봤지만 기본적인 CRUD도 정확히 이해못한 상황에서 다른 기능까지 추가로 구현하려고 하니 많이 힘들었던 1주일이었다. 하지만 이런 경험들을 통해 계속 성장하고 익숙해지다 보면 조금씩이지만 내 실력이 늘어갈 것이라고 생각한다.
주말에도 꾸준히 공부하면서 내 역량을 늘려야겠다.
'Review' 카테고리의 다른 글
KOSTA 교육 54일차(Semi-Project, Ajax, jQuery, update) (0) 2020.06.24 KOSTA 교육 53일차(Semi-Project, Ajax, JavaScript, jQuery) (0) 2020.06.24 KOSTA 교육 51일차(Semi-Project, insert, select) (0) 2020.06.24 KOSTA 교육 50일차(Semi-Project, insert, delete) (0) 2020.06.23 KOSTA 교육 49일차(Semi-Project, insert, update) (0) 2020.06.23