일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- 기초프로그래밍
- til
- CS 기초
- 모두를 위한 컴퓨터 과학
- 면접을 위한 CS 전공지식 노트
- 알고리즘
- SW
- 상속
- 부스트코스
- Computer Science
- w3schools
- Compute Science
- Java Programming
- 객체지향
- java
- 삼성청년SW아카데미
- CS 기초지식
- edwith
- 모두를 위한 컴퓨터 과학(CS50)
- 데이터베이스 모델링
- CS기초지식
- 예외처리
- CS50
- ERD
- ssafy
- WebProgramming
- 관계형 데이터베이스
- exception
- SSAFY 9기
- 이진법
- Today
- Total
Joslynn의 하루
MSA Full-Stack 개발자 양성 과정 - JSP&Servlet 자료 Up-Download_221012 본문
MSA Full-Stack 개발자 양성 과정 - JSP&Servlet 자료 Up-Download_221012
Joslynn 2022. 10. 12. 12:56File Upload
: 파일업로드에 필요한 컴포넌트(라이브러리) 다운로드 → 업로드 컴포넌트
http://www.servlets.com/cos/
: 다운로드한 라이브러리를 압축을 풀어 lib폴더에 있는 cos.jar를 파일을 이클립스 WEB-INf/lib폴더에 넣는다.
파일업로드 폼
<form name="f" action="upLoadPro.jsp" method="post" enctype="multipart/form-data">
이름 : <input type="text" name="name"><br>
제목 : <input type="text" name="subject"><br>
파일첨부 : <input type="file" name="file"><br>
<input type="submit" value="전송">
<input type="reset" value="취소">
</form>
**주의사항
: method는 반드시 post 방식
: enctype="multipart/form-data"
- enctype을 설정하면 getParameter(String name) 메소드로 값을 넘겨받지 못한다.
- MultipartRequest 객체를 사용해야 함(아래 설명)
: input 태그의 type="file" 필요
폼으로 넘어온 값 받기(파일업로드)
: MultipartRequest 객체 사용
MultipartRequest m
= new MultipartRequest(request , 저장폴더 , 최대용량 , 한글인코딩 , 같은이름파일처리방법 );
m.getParameter("name") ;//text박스의 값 가져오기
m.getFilesystemName("file"); //file 박스의 첨부파일가져오기 (물리적 공간 안에 있는 실제 파일 이름)
m.getOriginalFileName("file"); //file 박스의 첨부파일가져오기 (설정자가 업로드한 파일 이름)
File f = m.getFile("file") ;//첨부된 파일의 정보
File Download(Servlet문서 작성)
: HttpServlet를 상속 받는다.
: 기능
- 업로드된 파일의 경로 알아오기
- 한글파일 인코딩 설정(8859_1 -> euc-kr 변환)
- 요청된 파일이름을 File객체 변환
- ContentType설정
→ 서버가 클라이언트쪽으로 보낼때 인코딩 설정 , MIMEType설정
* 브라우져가 해석가능한 파일을 열지못하도록 설정
- 한글인코딩( euc-kr -> 8859_1 변환)
- 헤더설정(헤더란 http에게 자신의 파일의 정체를 알리는것)
response.setContentType("application/actet-stream");
response.setHeader("Content-Disposition", "attachment;filename=파일이름");
-실제파일을 클라이언트쪽으로 다운로드 한다.
(InputStream / OutputStream)
다운로드기능 servlet 링크걸기
<a href="/프로젝트명/서블릿클리스이름?fileName=파일이름">
파일이름
</a>
'MSA Full-Stack 개발자 양성과정 > JSP&Servlet' 카테고리의 다른 글
MSA Full-Stack 개발자 양성 과정 - JSP&Servlet Paging(페이징) 처리_221018 (1) | 2022.10.18 |
---|---|
MSA Full-Stack 개발자 양성 과정 - JSP&Servlet MVC 구조 Refactoring_221014 (0) | 2022.10.14 |
MSA Full-Stack 개발자 양성 과정 - JSP&Servlet Listener(이벤트 핸들러)_221012 (0) | 2022.10.12 |
MSA Full-Stack 개발자 양성 과정 - JSP&Servlet Filter(필터), log 기록_221011 (1) | 2022.10.11 |
[Servlet] annotation과 xml 설정 (0) | 2022.10.11 |