728x90
728x170
1. 파일 업로드를 위한 form 태그 내에 반드시 설정해야 하는 기법은 무엇인가?
- form 태그의 action 속성은 파일 업로드를 처리할 페이지를 넣어준다.
- form 태그의 enctype 속성은 multipart/form-data 로 지정해준다.
- form 태그의 method 속성은 post 로 재정해준다.
- input 태그의 type 속성에 file이 있어야 파일 업로드를 할 수 있다.
2. 파일을 서버에 업로드하는 처리 기법에 대해 간단히 설명하시오.
MultipartRequest 클래스나 Common-FileUpload를 통해 파일을 업로드할 수 있다.
MultipartRequest 클래스는 cos.jar 파일을 추가하고, MultipartRequest 클래스 객체를 생성하여 생성된 MultipartRequest 객체의 메소드를 사용하여 처리한다.
Common-FileUpload는 DiskFileUpload 객체를 생성하여 제공해주는 메소드를 통해 파일을 처리하고 업로드한다. Common-FileUpload를 이용하기 위해서는 라이브러리에 commons-fileupload.jar 파일과 commons-io.jar 파일이 존재해야 한다.
3. MultipartRequest 클래스를 이용하여 다음 조건에 맞게 JSP 애플리케이션을 만들고 실행 결과를 확인하시오.
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>File upload</title>
</head>
<body>
<form action="fileupload01_process.jsp" enctype="multipart/form-data" method="post">
<p>파일 : <input type="file" name="file1">
<p><input type="submit" value="파일 업로드">
</form>
</body>
</html>
fileupload01.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%@ page import="com.oreilly.servlet.*" %>
<%@ page import="com.oreilly.servlet.multipart.*" %>
<%@ page import="java.io.*" %>
<%@ page import="java.util.*" %>
<%
DefaultFileRenamePolicy policy = new DefaultFileRenamePolicy();
MultipartRequest multi = new MultipartRequest(request,
"C:\\Users\\upload", 10*1024*1024, "utf-8", policy);
String file = (String)multi.getFileNames().nextElement();
%>
<p> 요청 파라미터 이름 : <%= file %>
<p> 실제 파일 이름 : <%= multi.getOriginalFileName(file) %>
<p> 저장 파일 이름 : <%= multi.getFilesystemName(file) %>
<p> 파일 콘텐츠 유형 : <%= multi.getContentType(file) %>
<p> 파일 크기 : <%= file.length() %>
fileupload01_process.jsp
4. Commons-FileUpload 패키지를 이용하여 다음 조건에 맞게 JSP 애플리케이션을 만들고 실행결과를 확인하시오.
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>File Upload</title>
</head>
<body>
<form action="fileupload02_process.jsp" method="post" enctype="multipart/form-data">
<p> 파일 : <input type="file" name="file1">
<p> <input type="submit" value="파일 업로드">
</form>
</body>
</html>
fileupload02.jsp
<%@ page contentType="text/html; charset=utf-8" %>
<%@ page import="org.apache.commons.fileupload.*" %>
<%@ page import="java.io.*" %>
<%@ page import="java.util.*" %>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>File Upload</title>
</head>
<body>
<%
DiskFileUpload upload = new DiskFileUpload();
List list = upload.parseRequest(request);
Iterator data = list.iterator();
File file = null;
FileItem fileitem = null;
while(data.hasNext()){
fileitem = (FileItem)data.next();
if(!fileitem.isFormField()){
String filename = fileitem.getName();
filename = filename.substring(filename.lastIndexOf("\\")+1);
file = new File("C:\\Users\\upload\\" + filename);
fileitem.write(file);
}
}
%>
<p> 요청 파라미터 이름 : <%= fileitem.getFieldName() %>
<p> 저장 파일 이름 : <%= fileitem.getName() %>
<p> 파일 콘텐츠 유형 : <%= fileitem.getContentType() %>
<p> 파일 크기 : <%= file.length() %>
</body>
</html>
fileupload02_process.jsp
5. 다음 조건에 맞게 도서 웹 쇼핑몰을 위한 웹 애플리케이션을 만들고 실행 결과를 확인하시오.
[쉽게 배우는 JSP 웹프로그래밍] 6장 연습문제 및 솔루션 총정리
728x90
그리드형
'IT' 카테고리의 다른 글
[쉽게 배우는 JSP 웹프로그래밍] 9장 연습문제 및 솔루션 총정리 (0) | 2021.10.22 |
---|---|
[쉽게 배우는 JSP 웹프로그래밍] 8장 연습문제 및 솔루션 총정리 (0) | 2021.10.22 |
[쉽게 배우는 JSP 웹프로그래밍] 6장 연습문제 및 솔루션 총정리 (0) | 2021.10.22 |
[쉽게 배우는 JSP 웹프로그래밍] 5장 연습문제 및 솔루션 총정리 (0) | 2021.10.22 |
[쉽게 배우는 JSP 웹프로그래밍] 4장 연습문제 및 솔루션 총정리 (0) | 2021.10.22 |
댓글