Changes between Version 12 and Version 13 of egov

차이점 주위로
다음 차이점은 무시하기:
작성자:
anonymous (IP: 221.150.127.103)
날짜/시간:
2014-01-03 AM 9:06:58 (11 년 전)
설명:

--

Legend:

변경되지 않음
추가됨
제거됨
변경됨
  • egov

    v12 v13  
    1 {{{ 
    2 package com.mefour.servlet; 
    31 
    4 import java.io.*; 
    5 import javax.servlet.*; 
    6 import javax.servlet.http.HttpServletRequest; 
    7 import javax.servlet.http.HttpServletResponse; 
    8 import com.oreilly.servlet.MultipartRequest; 
    9 import com.oreilly.servlet.multipart.DefaultFileRenamePolicy; 
    10 import java.util.*; 
    11  
    12 public class UploadServlet extends javax.servlet.http.HttpServlet implements javax.servlet.Servlet { 
    13         // 원래 파일 업로드는 post 방식이기 때문에 goGet은 쓰이지않는다. 
    14         /* 
    15          * protected void doGet(HttpServletRequest request, HttpServletResponse 
    16          * response) throws ServletException, IOException { doPost(request, 
    17          * response); }// doGet 
    18          */ 
    19         protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { 
    20                 response.setContentType("text/html;charset=UTF-8"); 
    21                 PrintWriter out = response.getWriter(); 
    22                 request.setCharacterEncoding("UTF-8"); 
    23                  
    24                 /* 
    25                  //톰캣 플러그인을 사용하는 경우 
    26                  String savePath = getServletContext().getRealPath("upfolder"); 
    27                  */ 
    28                 // Dynamic Web Project 의 경우 : 절대 경로를 쓴다. 
    29                 String savePath = "C:/upload"; 
    30                 // out.println("savePath=" + savePath);//경로 확인 
    31                 int maxSize = 100 * 1024 * 1024; // 최대 업로드 파일 크기 5MB(메가)로 제한 
    32                 try { 
    33                         // 한글 파일명도 업로드 가능하다 : euc-kr 
    34                         // 하지만 실제로는 한글 파일명은 처리가 불편하기 때문에 영문 파일을 쓴다. 
    35                         MultipartRequest multi = null; 
    36                         try{ 
    37                                 multi = new MultipartRequest(request, savePath, maxSize, "UTF-8", new DefaultFileRenamePolicy()); 
    38                         }catch(Exception e){ 
    39                                 e.printStackTrace(); 
    40                         } 
    41                         out.println("<html>"); 
    42                         out.println("<head><title>화일 업로드List</title></head>"); 
    43                         out.println("<body>"); 
    44                         out.println("<pre>"); 
    45                         Enumeration params = multi.getParameterNames(); // 파라미터명 얻기 
    46                         // 반복문으로 모두 출력하기, 현 예제에는 하나지만 나중에 여러개일 경우을 위해 준비 
    47                         while (params.hasMoreElements()) { 
    48                                 String name = (String) params.nextElement(); 
    49                                 String value = multi.getParameter(name); 
    50                                 out.println(name + " : " + value); 
    51                         }//while 
    52 /*                       
    53                         out.println("</pre>"); 
    54                         out.println("<h3>업로드된 파일에 대한 설명</h3>"); 
    55                         out.println("<pre>"); 
    56                         out.println("<table border=1>"); 
    57                         out.println("<tr>"); 
    58                         out.println("<td width=150>파일명</td>"); 
    59                         out.println("<td width=100>파일 크기</td>"); 
    60                         out.println("<td width=150>파일의 종류</td>"); 
    61                         out.println("<td width=150>파라미터명</td>"); 
    62                         out.println("</tr>"); 
    63  
    64                         Enumeration files = multi.getFileNames(); // 파일명 모두 얻기 
    65                         // 반복문으로 모두 출력, 역시 여러 파일 업로드 경우를 위해 준비 
    66                         while (files.hasMoreElements()) { 
    67                                 String name = (String) files.nextElement(); 
    68                                 String fileName = multi.getFilesystemName(name); // 실제 업로드된 파일명 
    69                                 String type = multi.getContentType(name); 
    70                                 File f = multi.getFile(name); 
    71                                 out.println("<tr>"); 
    72                                 out.println("<td>" + fileName + "</td>"); 
    73                                 if (f != null) { 
    74                                         out.println("<td>" + f.length() + "</td>"); 
    75                                 }// if 
    76                                 out.println("<td>" + type + "</td>"); 
    77                                 out.println("<td>" + name + "</td></tr>"); 
    78                         }// while 
    79                         out.println("</table>"); 
    80                         out.println("</pre>"); 
    81                         out.println("<h3>업로드된 파일 List</h3>"); 
    82                         out.println("<pre>"); 
    83                         File dirFile = new File(savePath); // 업로드 폴더 얻기 
    84                         File[] fileList = dirFile.listFiles(); // 현재 폴더의 모든 파일 리스트 얻기 
    85                         // 반복문으로 다운로드 링크 걸어주기 
    86                         for (int i = 0; i < fileList.length; i++) { 
    87                                 String fName = fileList[i].getName(); 
    88                                 out.println(fName); 
    89                         }// for 
    90                         out.println("<pre>"); 
    91 */ 
    92                 } catch (Exception e) { 
    93                         out.print("예외 발생 : " + e); 
    94                 }// catch 
    95         }// doPost 
    96 }// end 
    97 }}} 
    982 * [wiki:egov/paging paging] 
    993 * [wiki:egov/IDGeneration ID Generation]