<14:30 5교시>
일단 이어서 만들기 하는 중인데 왼쪽거에 추가할 거 추가하고 보자.
자꾸 form의 method 를 빼먹고, 파일인데 enctype 들어가야하는거 까먹음
그리고 이전 예제에서 Dto에 만들어놨던 myFile의 기억이 다시 되살아났다. 여기서 쓸려고 만들었었다.
고친거
자 이제 controller에서 /file/upload 요청에 응답해야 하니까 dao랑 service를 만들어야 한다.
insert, delete, update 세개랑 파일 가져오기 getData, 파일 리스트 가져오기 getList이렇게 만드는데, 파일을 저장하는 과정에 경로 설정(custom.properties에서 했던것)도 필요하니까 이런거 관련해서 dao 만들고, 페이징 처리해야하니까 FileListDto도 만들까? service도 만들고. 아 맵퍼도 만들었지.
일단 Dao 인터페이스 만들었음
FileDaoImpl 만들었는데 어떻게 mapper와 연결하는지 기억이 나질 않았어서 찾아봤더니 SQLSession을 주입했어야 함. 까먹고 있었음.
mapper까진 했다.
이제 service로 이동해서 파일을 업로드 해볼 시간이다.
아맞다 그전에 custom properties 만들고 메인 메소드에 등록하기 까먹지 않긔.
는 맞다 스마트 에디터할 때 다 해놨었지. 개이득.
일단 쉬는 시간이니까 화장실 다녀오긔.
<15:30 6교시~끝날 때까지(시간가는줄 모르고 함)>
일단 파일과 글제목을 받아서 save파일이름, 원본파일이름을 얻어내서 Dto로 만드는 과정을 Service로 만들어봄.
그 과정에서 처음에 만든 코드는 dto를 build 하는 걸 제대로 몰라서 헤매는 거였는데 샘께 질문해서 배움.
아래 화면에서 에러도 나고 잘 안돼서 문제였는데 문제 상황이 두가지였음.
1. Dto 객체를 생성 안한 상태임 ㅠㅠ 멍충 ㅠㅠ FileDto dto=new FileDto(); 했어야 하는데 안했음.
2. Dto에 @Builder만 추가하면 되는줄 알았는데 @Builder를 추가하려면 @NoArgsConstructor와 @AllArgsConstructor가 필요했던거임!!!!! 그게 세트더라구!!!! 왜 세개였는지 수업 때 놓쳤거나 기억이 안나거나 그래서 생각도 못한듯.
만약에 @Builder랑 그 세트 없이 dto를 만들어야 했다면 dto.set어쩌구 형태로 만드는게 맞는데 그러면 .으로 연달아 찍어서 만들수 없어서 빌더를 써봄.
파일이 데이터베이스에 업로드되는 건 성공적이고 확인했음
근데 이제 파일 저장하면 알림창 뜨게 하는걸 하고 싶은데 잘 안돼서 일단 챗 지피티한테 물어보려고 함.
지피티 대답 : 아쉽다 거의 맞은거 같은데. 이제 기능만 제대로 하나 보자
ChatGPT의 말:
th:if에서 == 연산자를 사용하는 방식은 적절하지 않아서, th:if에서 uploadSuccess가 true인지를 확인하려면 == 대신 uploadSuccess 변수 자체를 조건으로 사용할 수 있습니다.
다음은 수정된 코드입니다:
설명:
- th:if="${uploadSuccess}"는 uploadSuccess 값이 true일 때만 해당 <script> 태그 내의 코드를 실행하도록 합니다.
- uploadSuccess가 boolean 타입일 경우 true이면 alert("파일이 업로드되었습니다.");가 실행됩니다.
만약 uploadSuccess가 boolean이 아닌 다른 값을 갖는 경우 (예: "true", "false" 등의 문자열)에는 아래처럼 수정할 수 있습니다:
이렇게 하면 uploadSuccess가 "true" 문자열일 때만 알림창이 뜨게 됩니다.
기능 제대로 해라 제발..!!는 안되는데 일단 리스트 없으니까 아무것도 안한거 같으니까 리스트부터 만들어보자.
하...
야호.... ㅠㅠㅠㅠㅠㅠ
페이징 처리는 나중에 생각하자.
일단 기본 기능 먼저 넣어보자.
삭제 기능 성공했음
아쉽다 ㅠㅠㅠㅠㅠ 내일 시간 더 주시려나?
<17:30 8교시>
tabbed postman로 AI 대답하는 거 한 번 시연해봄.
야자하면서도 수정기능 계속 해결해보려고 했는데 실패.
수정 기능해보려고 했는데, 생각해보니까 toDto 과정이 있었어서 거꾸로 해주는 과정에 대한 로직도 생각해볼 필요가 있었는데, 아무래도 다운로드 기능 해보고 나서 될 거 같아서 7:25경 다운로드 기능부터 만들기로 결심.
다운로드 된다 ㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠ
수정도 된다 ㅠㅠㅠㅠㅠ
'자바풀스택 과정 > 자바 풀 스택 : 수업내용정리' 카테고리의 다른 글
자바 풀 스택 2/28 오후 기록 065-2 (0) | 2025.02.28 |
---|---|
자바 풀 스택 2/28 오전 기록 065-1 (0) | 2025.02.28 |
자바 풀 스택 2/27 오전 기록 064-1 (0) | 2025.02.27 |
자바 풀 스택 2/26 오후 기록 063-2 (0) | 2025.02.26 |
자바 풀 스택 2/26 오전 기록 063-1 (0) | 2025.02.26 |