org.codelabor.system.file.web.servlet
Class FileUploadServlet

java.lang.Object
  extended by javax.servlet.GenericServlet
      extended by javax.servlet.http.HttpServlet
          extended by org.codelabor.system.file.web.servlet.FileUploadServlet
All Implemented Interfaces:
java.io.Serializable, javax.servlet.Servlet, javax.servlet.ServletConfig
Direct Known Subclasses:
FileUploadStreamServlet

public class FileUploadServlet
extends javax.servlet.http.HttpServlet

파일 업로드 서블릿

Author:
Shin Sang-jae
See Also:
Serialized Form

Nested Class Summary
static class FileUploadServlet.Parameter
          파라미터
 
Field Summary
protected  java.lang.String characterEncoding
          캐릭터 인코딩
기본 값은 UTF-8이다.
protected  long fileSizeMax
          파일 당 최대 파일 크기
기본 값은 10MB이다.
protected  java.lang.String forwardPathDelete
          파일 삭제 후, 포워드 경로
protected  java.lang.String forwardPathDownload
          다운로드 후, 포워드 경로
protected  java.lang.String forwardPathList
          목록 조회 후, 포워드 경로
protected  java.lang.String forwardPathRead
          파일 읽기 후, 포워드 경로
protected  java.lang.String forwardPathUpload
          업로드 후, 포워드 경로
protected  java.lang.String parameterName
          파라미터명
protected  java.lang.String realRepositoryPath
          파일 저장 경로
기본 값은 시스템 환경 변수 user.dir가 가리키는 경로다.
protected  RepositoryType repositoryType
          파일 저장 방식
기본 값은 FILE_SYSTEM이다.
protected  long requestSizeMax
          한 요청 당 최대 파일 크기
기본 값은 100MB이다.
protected  javax.servlet.ServletConfig servletConfig
          서블릿 컨피그
protected  int sizeThreshold
          메모리 파일 크기 한계치
protected  java.lang.String tempRepositoryPath
          임시 파일 저장 경로
기본 값은 시스템 환경 변수 java.io.tempdir이 가리키는 경로다.
 
Constructor Summary
FileUploadServlet()
           
 
Method Summary
protected  void delete(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response)
          파일을 삭제한다.
 void destroy()
           
protected  void dispatch(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response, java.lang.String path)
          페이지를 전환한다.
protected  void download(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response)
          파일을 다운로드 한다.
 javax.servlet.ServletConfig getServletConfig()
           
 java.lang.String getServletInfo()
           
protected  java.lang.String getUniqueFilename()
          고유 파일명을 가져온다.
 void init(javax.servlet.ServletConfig config)
           
protected  void list(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response)
          파일 목록을 가져온다.
protected  void processParameters(java.util.Map<java.lang.String,java.lang.Object> paramMap)
          파라미터를 처리한다.
protected  void read(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response)
          파일 정보를 가져온다.
 void service(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response)
           
protected  void upload(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response)
          파일을 업로드 한다.
protected  void view(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response)
          파일을 렌더링한다.
 
Methods inherited from class javax.servlet.http.HttpServlet
doDelete, doGet, doHead, doOptions, doPost, doPut, doTrace, getLastModified, service
 
Methods inherited from class javax.servlet.GenericServlet
getInitParameter, getInitParameterNames, getServletContext, getServletName, init, log, log
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

servletConfig

protected javax.servlet.ServletConfig servletConfig
서블릿 컨피그


parameterName

protected java.lang.String parameterName
파라미터명


forwardPathUpload

protected java.lang.String forwardPathUpload
업로드 후, 포워드 경로


forwardPathDownload

protected java.lang.String forwardPathDownload
다운로드 후, 포워드 경로


forwardPathList

protected java.lang.String forwardPathList
목록 조회 후, 포워드 경로


forwardPathRead

protected java.lang.String forwardPathRead
파일 읽기 후, 포워드 경로


forwardPathDelete

protected java.lang.String forwardPathDelete
파일 삭제 후, 포워드 경로


characterEncoding

protected java.lang.String characterEncoding
캐릭터 인코딩
기본 값은 UTF-8이다.


sizeThreshold

protected int sizeThreshold
메모리 파일 크기 한계치


fileSizeMax

protected long fileSizeMax
파일 당 최대 파일 크기
기본 값은 10MB이다.


requestSizeMax

protected long requestSizeMax
한 요청 당 최대 파일 크기
기본 값은 100MB이다.


realRepositoryPath

protected java.lang.String realRepositoryPath
파일 저장 경로
기본 값은 시스템 환경 변수 user.dir가 가리키는 경로다.


tempRepositoryPath

protected java.lang.String tempRepositoryPath
임시 파일 저장 경로
기본 값은 시스템 환경 변수 java.io.tempdir이 가리키는 경로다.


repositoryType

protected RepositoryType repositoryType
파일 저장 방식
기본 값은 FILE_SYSTEM이다.

Constructor Detail

FileUploadServlet

public FileUploadServlet()
Method Detail

init

public void init(javax.servlet.ServletConfig config)
          throws javax.servlet.ServletException
Specified by:
init in interface javax.servlet.Servlet
Overrides:
init in class javax.servlet.GenericServlet
Throws:
javax.servlet.ServletException

service

public void service(javax.servlet.http.HttpServletRequest request,
                    javax.servlet.http.HttpServletResponse response)
             throws javax.servlet.ServletException,
                    java.io.IOException
Overrides:
service in class javax.servlet.http.HttpServlet
Throws:
javax.servlet.ServletException
java.io.IOException

processParameters

protected void processParameters(java.util.Map<java.lang.String,java.lang.Object> paramMap)
                          throws java.lang.Exception
파라미터를 처리한다.

Parameters:
paramMap - 파라미터 Map
Throws:
java.lang.Exception - 예외

dispatch

protected void dispatch(javax.servlet.http.HttpServletRequest request,
                        javax.servlet.http.HttpServletResponse response,
                        java.lang.String path)
                 throws java.lang.Exception
페이지를 전환한다.

Parameters:
request - 요청
response - 응답
path - 경로
Throws:
java.lang.Exception - 예외

upload

protected void upload(javax.servlet.http.HttpServletRequest request,
                      javax.servlet.http.HttpServletResponse response)
               throws java.lang.Exception
파일을 업로드 한다.
파일 외의 데이터와 매핑이 필요할 경우, (예: 게시판) 파라미터로 mapId를 입력 받는다. 파일 저장 방식은 파라미터 repositoryType으로 지정하며, 그 값은 org.codelabor.system.file.RepositoryType를 따른다.

Parameters:
request - 요청
response - 응답
Throws:
java.lang.Exception - 예외

getUniqueFilename

protected java.lang.String getUniqueFilename()
                                      throws java.lang.Exception
고유 파일명을 가져온다.

Returns:
고유 파일명
Throws:
java.lang.Exception - 예외

list

protected void list(javax.servlet.http.HttpServletRequest request,
                    javax.servlet.http.HttpServletResponse response)
             throws java.lang.Exception
파일 목록을 가져온다.
파일 목록은 org.codelabor.system.file.FileConstants.FILE_LIST_KEY라는 키로 attribute에 등록된다. Map Id도 함께 발급하는데 Map Id는 org.codelabor.system.file.FileConstants.MAP_ID라는 키로 attribute에 등록된다.

Parameters:
request - 요청
response - 응답
Throws:
java.lang.Exception - 예외

view

protected void view(javax.servlet.http.HttpServletRequest request,
                    javax.servlet.http.HttpServletResponse response)
             throws java.lang.Exception
파일을 렌더링한다.

Parameters:
request - 요청
response - 응답
Throws:
java.lang.Exception - 예외

delete

protected void delete(javax.servlet.http.HttpServletRequest request,
                      javax.servlet.http.HttpServletResponse response)
               throws java.lang.Exception
파일을 삭제한다.
삭제할 파일의 파일 Id를 파라미터 fileId로 지정하여 요청한다. 삭제 건수는 org.codelabor.system.daos.AFFECTED_ROW_COUNT라는 키로 attribute에 등록된다.

Parameters:
request - 요청
response - 응답
Throws:
java.lang.Exception - 예외

read

protected void read(javax.servlet.http.HttpServletRequest request,
                    javax.servlet.http.HttpServletResponse response)
             throws java.lang.Exception
파일 정보를 가져온다.
읽어올 파일의 파일 Id를 파라미터 fileID로 전달하면 해당 파일의 DTO가 org.codelabor.system.file.FileConstants.FILE_KEY라는 키로 attribute에 등록된다.

Parameters:
request - 요청
response - 응답
Throws:
java.lang.Exception - 예외

getServletConfig

public javax.servlet.ServletConfig getServletConfig()
Specified by:
getServletConfig in interface javax.servlet.Servlet
Overrides:
getServletConfig in class javax.servlet.GenericServlet

destroy

public void destroy()
Specified by:
destroy in interface javax.servlet.Servlet
Overrides:
destroy in class javax.servlet.GenericServlet

getServletInfo

public java.lang.String getServletInfo()
Specified by:
getServletInfo in interface javax.servlet.Servlet
Overrides:
getServletInfo in class javax.servlet.GenericServlet

download

protected void download(javax.servlet.http.HttpServletRequest request,
                        javax.servlet.http.HttpServletResponse response)
                 throws java.lang.Exception
파일을 다운로드 한다.

Parameters:
request - 요청
response - 응답
Throws:
java.lang.Exception - 예외


Copyright © 2011 CODELABOR. All Rights Reserved.