register.jsp 글쓰기 // ... (기존 코드) 파일 업로드 등록 취소 boardFile.js document.getElementById('trigger').addEventListener('click', ()=>{ document.getElementById('files').click(); }); const regExp = new RegExp("\.(.exe|sh|bat|dll|jar|msi)$"); const maxSize = 1024 * 1024 * 20; function fileValidation(fileName, fileSize) { if(regExp.test(fileName)) { return 0; } else if (fileSize > maxSize) { return 0; } else ..
sql -- 2024-01-19 CREATE TABLE file( uuid VARCHAR(256) NOT NULL, save_dir VARCHAR(256) NOT NULL, file_name VARCHAR(256) NOT NULL, file_type TINYINT(1) DEFAULT 0, bno BIGINT, file_size BIGINT, reg_at DATETIME DEFAULT now(), PRIMARY KEY(uuid) ); FileVO.java package com.basicWeb.www.domain; import lombok.AllArgsConstructor; import lombok.Getter; import lombok.NoArgsConstructor; import lombok.Setter..
먼저, 업로드한 파일을 본인이 저장하고 싶은 경로에 폴더를 생성한다. 그 후, config package에 코드를 추가한다. pom.xml는 파일 업로드에 관한 설정을 처음에 미리 해주었으므로 추가적인 작업은 필요치 않다. WebConfig.java package com.basicWeb.www.config; import javax.servlet.Filter; import javax.servlet.MultipartConfigElement; import javax.servlet.ServletRegistration.Dynamic; import org.springframework.web.filter.CharacterEncodingFilter; import org.springframework.web.servlet..
detail.jsp // ... (기존 코드) Writer 등록 닫기 // ... (기존 코드) boardComment.js // ... (기존 코드) document.addEventListener('click',(e)=>{ // ... (기존 코드) } else if(e.target.classList.contains('cmtModBtn')) { let li = e.target.closest('li'); let cmtText = li.querySelector('.fw-bold').nextSibling; document.getElementById('cmtModText').value = cmtText.nodeValue; document.getElementById('cmtModBtn').setAttribute..
detail.jsp // ... (기존 코드) 댓글 더보기 // ... (기존 코드) 댓글 더보기 버튼을 하나 작성한다. js에서 사용하기 위해 id를 moreBtn이라고 선언해주었고, 댓글의 첫 페이지 부분을 설정하기 위해 data-page는 1로 주었다. style에 visibility는 버튼이 시각적으로 보이게 할건지 아닌지 설정하는데 댓글이 일정 숫자 이상이 되면 더보기 버튼이 보이게 하고 싶어서, hidden으로 값을 주고 js에서 처리한다. PagingHandler.java package com.basicWeb.www.handler; import java.util.List; import com.basicWeb.www.domain.CommentVO; import com.basicWeb.www.d..