<dependencies> </dependencies> 사이에 cos.jar 라이브러리를넣어주기
------------------------------------------------------------------
--BoardWrite.jsp--
<form action="전송할곳" method = "post" enctype="multipart/form-data">
enctype은 post방식만 가능함
multipart = 이미지든 뭐든 모든 형식의 파일을 전송한다는 뜻
---------------------------------------------------------------------------------------------------------------
--WriteBoardService.java (Servlet) --
1.
파일업로드를 받아오기 위해 먼저 업로드 파일이 저장될 장소를 설정해야함
src < main < webapp 안에 파일을 업로드받을 폴더를 만들어줘야함
2.
MultipartRequest (파일 업로드를 받아오기 위한 객체) 생성 필요
MultipartRequest 객체명 = new MultipartRequest ();
자동완성을 할경우 받아와야 할 값이 여러개가 뜨는데 그중
이 5개의 값을 가진것을 불러온다
Servlet 에서 경로값을 가져오려면 getServletContext()로 정보를 가져온후 getRealPath() 로 경로를 가져와야함
5개의 값은 각각
request : MultipartRequest와 연결되는 request
saveDirectory : 업로드해서 서버에 저장할 경로
maxsize : 파일 최대크기 (5mb -> 1024*1024*5)
encoding : 파일명에 대한 인코딩 방식
FileRenamePolicy : 업로드파일 이름이 중복되지않도록 번호표 만들어줌 -> 객체생성 필요
이므로
객체 multi 위에 해당 값들을 지정해줘야 한다
request 는 연결되는 거니까 지정할 필요없고
saveDirectory 에는 경로를 지정해줘야하는데 이 경로는 위에서 만들어준
이 경로이다.
이 경로값을 불러오는 getRealPath 인데
이 함수를 사용하기 위해서는 Servlet의 환경정보를 가져오는 getServletContext()를 먼저 실행해야 한다.
이렇게 경로를 불러온후 ("file" 은 위에서 지정한 폴더의 이름)
파일크키와 인코딩을 지정,
최종적으로
FileRenamePolicy에 new DefaultFileRenamePolicy()라는 기본값을 지정해준다
이후
jsp에서 보낸 4개의 값을 받아온다
다음 파트는
DB와 연결하는 파트이므로
밑에서 Model파트인 BoardDTO와 BoardDAO를 확인한 후 다시 설명하겠음
------------------------------------------------------------------------------------------
--sql--
DB와 연동해야 하므로 일단 sql문을 작성해준다
-----------------------------------------------------------
--BoardDAO.java(모델부분)--
num, title, write, filename, b_date의 5개의 값을 가져올껀데
num은 시퀸스이므로 ?가 아닌 nextval로
b_date는 날짜를 표시하므로 ?가 아닌 sysdate로 표시한다
--------------------------------------------------------------------
--BoardDTO.java--
모든 값을 필드에 선언하고
시킌스인 nu과 date를 제외한 4개의 값을 생성자메소드로 만들고
setter and gettrer을 생성해준다
C:\Users\smhrd\Desktop\수업자료\jsp\jsp_servlet\.metadata\.plugins\org.eclipse.wst.server.core\tmp0\wtpwebapps\maven_MessageSystem_board\file
정상적으로 업로드된 모습과
같은 이름의 파일에 번호가 지정된 모습도 확인됨
'JSP & Servlet > Maven Project' 카테고리의 다른 글
Message System 2-4. 메세지 개별삭제 (0) | 2022.06.30 |
---|---|
Message System 2-3. 메세지 전체삭제 (0) | 2022.06.30 |
Message System - 2-1. 메세지 보내기 / 2-2. 메세지 확인 (0) | 2022.06.29 |
Message System 1-5 관리자 기능 (0) | 2022.06.29 |
Message System 1-4. 회원정보 수정 (0) | 2022.06.29 |