{{{ package com.mefour.servlet; import java.io.*; import javax.servlet.*; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import com.oreilly.servlet.MultipartRequest; import com.oreilly.servlet.multipart.DefaultFileRenamePolicy; import java.util.*; public class UploadServlet extends javax.servlet.http.HttpServlet implements javax.servlet.Servlet { // 원래 파일 업로드는 post 방식이기 때문에 goGet은 쓰이지않는다. /* * protected void doGet(HttpServletRequest request, HttpServletResponse * response) throws ServletException, IOException { doPost(request, * response); }// doGet */ protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { response.setContentType("text/html;charset=UTF-8"); PrintWriter out = response.getWriter(); request.setCharacterEncoding("UTF-8"); /* //톰캣 플러그인을 사용하는 경우 String savePath = getServletContext().getRealPath("upfolder"); */ // Dynamic Web Project 의 경우 : 절대 경로를 쓴다. String savePath = "C:/upload"; // out.println("savePath=" + savePath);//경로 확인 int maxSize = 100 * 1024 * 1024; // 최대 업로드 파일 크기 5MB(메가)로 제한 try { // 한글 파일명도 업로드 가능하다 : euc-kr // 하지만 실제로는 한글 파일명은 처리가 불편하기 때문에 영문 파일을 쓴다. MultipartRequest multi = null; try{ multi = new MultipartRequest(request, savePath, maxSize, "UTF-8", new DefaultFileRenamePolicy()); }catch(Exception e){ e.printStackTrace(); } out.println(""); out.println("
"); Enumeration params = multi.getParameterNames(); // 파라미터명 얻기 // 반복문으로 모두 출력하기, 현 예제에는 하나지만 나중에 여러개일 경우을 위해 준비 while (params.hasMoreElements()) { String name = (String) params.nextElement(); String value = multi.getParameter(name); out.println(name + " : " + value); }//while /* out.println(""); out.println("
"); out.println("
파일명 | "); out.println("파일 크기 | "); out.println("파일의 종류 | "); out.println("파라미터명 | "); out.println("
" + fileName + " | "); if (f != null) { out.println("" + f.length() + " | "); }// if out.println("" + type + " | "); out.println("" + name + " |
"); File dirFile = new File(savePath); // 업로드 폴더 얻기 File[] fileList = dirFile.listFiles(); // 현재 폴더의 모든 파일 리스트 얻기 // 반복문으로 다운로드 링크 걸어주기 for (int i = 0; i < fileList.length; i++) { String fName = fileList[i].getName(); out.println(fName); }// for out.println(""); */ } catch (Exception e) { out.print("예외 발생 : " + e); }// catch }// doPost }// end }}} * [wiki:egov/paging paging] * [wiki:egov/IDGeneration ID Generation] * [wiki:egov/propertiesService propertiesService] * [wiki:egov/SearchVO SearchVO.java] * [wiki:egov/AbstractServiceImpl AbstractServiceImpl.java] * [wiki:egov/leavaTrace leavaTrace] * [wiki:egov/exception Exception Handling 서비스] * [wiki:egov/Security Security] * [wiki:egov/Security/context-security.xml context-security.xml] * [wiki:egov/Security/SecuredObjectDAO.java SecuredObjectDAO.java] * [wiki:egov/Security/JdbcUserDetailsManager.java JdbcUserDetailsManager.java] * [wiki:egov/Security/JdbcDaoImpl.java JdbcDaoImpl.java]