<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    【永恒的瞬間】
    ?Give me hapy ?

    文件上傳在web應用中非常普遍,要在jsp環境中實現文件上傳功能是非常容易的,因為網上有許多用java開發的文件上傳組件,本文以commons-fileupload組件為例,為jsp應用添加文件上傳功能。

    common-fileupload組件是apache的一個開源項目之一,可以從http://jakarta.apache.org/commons/fileupload/下載。用該組件可實現一次上傳一個或多個文件,并可限制文件大小。
    下載后解壓zip包,將commons-fileupload-1.0.jar復制到tomcat的webapps\你的webapp\WEB-INF\lib\下,目錄不存在請自建目錄。

    新建一個servlet: Upload.java用于文件上傳:

    java 代碼
    1. import java.io.*;   
    2. import java.util.*;   
    3. import javax.servlet.*;   
    4. import javax.servlet.http.*;   
    5. import org.apache.commons.fileupload.*;   
    6.   
    7. public class Upload extends HttpServlet {   
    8.   
    9.     private String uploadPath = "C:\\upload\\"; // 上傳文件的目錄  
    10.     private String tempPath = "C:\\upload\\tmp\\"; // 臨時文件目錄   
    11.   
    12.     public void doPost(HttpServletRequest request,   
    13.     HttpServletResponse response)   
    14.     throws IOException, ServletException   
    15.     {   
    16.     }   
    17. }  

    在doPost()方法中,當servlet收到瀏覽器發出的Post請求后,實現文件上傳。以下是示例代碼:

    java 代碼
    1. public void doPost(HttpServletRequest request,   
    2. HttpServletResponse response)   
    3. throws IOException, ServletException   
    4. {   
    5.     try {   
    6.         DiskFileUpload fu = new DiskFileUpload();   
    7.         // 設置最大文件尺寸,這里是4MB   
    8.         fu.setSizeMax(4194304);   
    9.         // 設置緩沖區大小,這里是4kb   
    10.         fu.setSizeThreshold(4096);   
    11.         // 設置臨時目錄:   
    12.         fu.setRepositoryPath(tempPath);   
    13.   
    14.         // 得到所有的文件:   
    15.         List fileItems = fu.parseRequest(request);   
    16.         Iterator i = fileItems.iterator();   
    17.         // 依次處理每一個文件:   
    18.         while(i.hasNext()) {   
    19.             FileItem fi = (FileItem)i.next();   
    20.             // 獲得文件名,這個文件名包括路徑:   
    21.             String fileName = fi.getName();   
    22.             // 在這里可以記錄用戶和文件信息   
    23.             // ...   
    24.             // 寫入文件,暫定文件名為a.txt,可以從fileName中提取文件名:   
    25.             fi.write(new File(uploadPath + "a.txt"));   
    26.         }   
    27.     }   
    28.     catch(Exception e) {   
    29.         // 可以跳轉出錯頁面   
    30.     }   
    31. }  

    如果要在配置文件中讀取指定的上傳文件夾,可以在init()方法中執行:

    java 代碼
    1. public void init() throws ServletException {   
    2.     uploadPath = ....   
    3.     tempPath = ....   
    4.     // 文件夾不存在就自動創建:   
    5.     if(!new File(uploadPath).isDirectory())   
    6.         new File(uploadPath).mkdirs();   
    7.     if(!new File(tempPath).isDirectory())   
    8.         new File(tempPath).mkdirs();   
    9. }  

    編譯該servlet,注意要指定classpath,確保包含commons-upload-1.0.jar和tomcat\common\lib\servlet-api.jar。
    配置servlet,用記事本打開tomcat\webapps\你的webapp\WEB-INF\web.xml,沒有的話新建一個。
    典型配置如下:

    xml 代碼
    1. xml version="1.0" encoding="ISO-8859-1"?>  
    2.     PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"   
    3.     "http://java.sun.com/dtd/web-app_2_3.dtd">  
    4.   
    5. <web-app>  
    6.     <servlet>  
    7.         <servlet-name>Uploadservlet-name>  
    8.         <servlet-class>Uploadservlet-class>  
    9.     servlet>  
    10.   
    11.     <servlet-mapping>  
    12.         <servlet-name>Uploadservlet-name>  
    13.         <url-pattern>/fileuploadurl-pattern>  
    14.     servlet-mapping>  
    15. web-app>  

    配置好servlet后,啟動tomcat,寫一個簡單的jsp測試:

    jsp 代碼
    1. &lt;form action="fileupload" method="post" enctype="multipart/form-data" name="form1">   
    2.   &lt;input type="file" name="file" />   
    3.   &lt;input type="submit" name="submit" value="上傳" />   
    4. &lt;/form>  

    注意:action="fileupload"其中fileupload是配置servlet時指定的url-pattern。

    posted on 2008-05-29 14:03 ???MengChuChen 閱讀(369) 評論(0)  編輯  收藏 所屬分類: JAVAEE
    主站蜘蛛池模板: 花蝴蝶免费视频在线观看高清版| 亚洲AV无码成人专区片在线观看| 亚洲一本之道高清乱码| 中国人xxxxx69免费视频| 国产亚洲高清不卡在线观看| 中文在线观看免费网站| 亚洲国产精品国自产拍AV| a毛片免费全部播放完整成| 久久青青草原亚洲AV无码麻豆| 免费污视频在线观看| 亚洲视频一区在线观看| 99在线精品免费视频九九视| 亚洲天堂免费在线| 国产真实伦在线视频免费观看| 免费无遮挡无码视频在线观看| 狠狠亚洲狠狠欧洲2019| 在线观看肉片AV网站免费| 中文字幕亚洲精品资源网| 我想看一级毛片免费的| 香港特级三A毛片免费观看| 精品国产人成亚洲区| 99热在线观看免费| 亚洲成a人片在线不卡| 又大又硬又爽免费视频| 最新国产乱人伦偷精品免费网站 | 亚洲最大激情中文字幕| 成人无码a级毛片免费| 亚洲国产日韩在线一区| 亚洲成A人片77777国产| 99re在线精品视频免费| 337P日本欧洲亚洲大胆精品| 亚洲午夜久久久影院伊人| 青娱乐免费视频在线观看| 美女黄色毛片免费看| 亚洲一二成人精品区| 国产一级淫片a免费播放口之 | 婷婷亚洲久悠悠色悠在线播放| 我要看WWW免费看插插视频| 成人自慰女黄网站免费大全| 亚洲一卡二卡三卡| 国产成人毛片亚洲精品|