国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Java > 正文

JavaWeb文件上傳開發實例

2019-11-26 13:59:26
字體:
來源:轉載
供稿:網友

文件上傳有SmartUpload、Apache的Commons fileupload.我們今天介紹Commons fileupload的用法。 

1.commons-fileupload-1.3.1.jar
下載地址:http://xiazai.VeVB.COm/201608/yuanma/javawebfileupload(VeVB.COm).rar

2.web.xml

<!-- 上傳文件 服務器端 --> <servlet> <servlet-name>UploadServlet</servlet-name> <servlet-class>com.servlet.UploadServlet</servlet-class> <init-param> <param-name>filePath</param-name><!-- 文件存儲路徑 --> <param-value>F:/myeclipse/Workspaces/King/WebRoot/uploadfile/</param-value> </init-param> </servlet>  <servlet-mapping> <servlet-name>UploadServlet</servlet-name> <url-pattern>/servlet/UploadServlet</url-pattern> </servlet-mapping>3.UploadFile.jsp<form action="servlet/UploadServlet" method="post" enctype="multipart/form-data">  <div align="center">   <fieldset style="width:80%">    <legend>上傳文件</legend><br/>     <div align="left">上傳文件1</div>     <div align="left">      <input type="file" name="file1"/>     </div>     <div align="left">上傳文件2</div>     <div align="left">      <input type="file" name="file2"/>     </div>     <div>      <div align='left'>上傳文件說明1</div>      <div align='left'><input type="text" name="description1"/></div>     </div>     <div>      <div align='left'>上傳文件說明2</div>      <div align='left'><input type="text" name="description2"/></div>     </div>     <div>      <div align='left'>       <input type='submit' value="上傳文件"/>      </div>     </div>   </fieldset>  </div> </form>

3.servlet

package com.servlet;import java.io.File;import java.io.FileOutputStream;import java.io.IOException;import java.io.InputStream;import java.io.InputStreamReader;import java.io.OutputStream;import java.io.PrintWriter;import java.util.List;import javax.servlet.ServletException;import javax.servlet.http.HttpServlet;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import org.apache.commons.fileupload.DiskFileUpload;import org.apache.commons.fileupload.FileItem;import org.apache.commons.fileupload.FileUploadException;import sun.swing.FilePane;public class UploadServlet extends HttpServlet { private String filePath; /**  * Destruction of the servlet. <br>  */ public void destroy() {  super.destroy(); // Just puts "destroy" string in log  // Put your code here }  public void doGet(HttpServletRequest request, HttpServletResponse response)   throws ServletException, IOException {  response.setCharacterEncoding("UTF-8");  response.getWriter().println("請以POST方式上傳文件"); }  public void doPost(HttpServletRequest request, HttpServletResponse response)   throws ServletException, IOException {  File file1 = null, file2 = null;  String description1 = null, description2 = null;  response.setCharacterEncoding("UTF-8");  request.setCharacterEncoding("UTF-8");  response.setContentType("text/html");  PrintWriter out = response.getWriter();    DiskFileUpload diskFileUpload = new DiskFileUpload();//解析request    try {   List<FileItem> fileList = diskFileUpload.parseRequest(request);//將結果放置到List中   out.println("遍歷所有的FileItem...</br>");   this.log("遍歷所有的FileItem...");   for(FileItem fileItem : fileList){    if(fileItem.isFormField()){//如果是文本域     if("description1".equals(fileItem.getFieldName())){      out.println("遍歷到description1...</br>");      description1 = new String(fileItem.getString().getBytes(),"UTF-8");     }     if("description2".equals(fileItem.getFieldName())){      out.println("遍歷到description2...</br>");      description2 = new String(fileItem.getString().getBytes(),"UTF-8");     }    }else{//否則為文件域     if("file1".equals(fileItem.getFieldName())){      File remoteFile = new File(new String(fileItem.getName().getBytes(),"UTF-8"));      out.println("遍歷到file1...</br>");      out.println("客戶端文件位置:"+remoteFile.getAbsolutePath()+"</br>");      //服務器端文件,放在uploadfile文件夾下      file1 = new File(filePath,remoteFile.getName());      file1.getParentFile().mkdirs();//創建文件夾路徑      file1.createNewFile();//創建新文件      InputStream ins = fileItem.getInputStream();//FileItem的內容      OutputStream ous = new FileOutputStream(file1);//輸出到文件中      try{       byte[] buffer = new byte[1024];//字節緩存       int len = 0;//實際緩存長度       while((len=ins.read(buffer)) > -1){//循環讀入緩存        ous.write(buffer,0,len);       }       out.println("已保存文件"+file1.getAbsolutePath()+"</br>");      }      finally{       ous.close();       ins.close();      }     }     if("file2".equals(fileItem.getFieldName())){      File remoteFile = new File(new String(fileItem.getName().getBytes(),"UTF-8"));      out.println("遍歷到file2...</br>");      out.println("客戶端文件位置:"+remoteFile.getAbsolutePath()+"</br>");      //服務器端文件,放在uploadfile文件夾下      file2 = new File(filePath,remoteFile.getName());      file2.getParentFile().mkdirs();//創建文件夾路徑      file2.createNewFile();//創建新文件      InputStream ins = fileItem.getInputStream();//FileItem的內容      OutputStream ous = new FileOutputStream(file2);//輸出到文件中      try{       byte[] buffer = new byte[1024];//字節緩存       int len = 0;//實際緩存長度       while((len=ins.read(buffer)) > -1){//循環讀入緩存        ous.write(buffer,0,len);       }       out.println("已保存文件"+file2.getAbsolutePath()+"</br>");      }      finally{       ous.close();       ins.close();      }     }    }   }   out.println("Request 解析完畢");  } catch (FileUploadException e) {   // TODO 自動生成的 catch 塊   out.println("<!DOCTYPE HTML PUBLIC /"-//W3C//DTD HTML 4.01 Transitional//EN/">");   out.println("<HTML>");   out.println(" <HEAD><TITLE>A Servlet</TITLE></HEAD>");   out.println(" <BODY>");      if(file1 != null){    out.println("<div>");    out.println(" <div align='left'>file1;</div>");    out.println(" <div align='left'><a href='"+request.getContextPath()+      file1.getName()+"'target=_blank>"+file1.getName()+"</a>");    out.println("</div>");    out.println("</div>");   }   if(file2 != null){    out.println("<div>");    out.println(" <div align='left'>file2;</div>");    out.println(" <div align='left'><a href='"+request.getContextPath()+      file2.getName()+"'target=_blank>"+file2.getName()+"</a>");    out.println("</div>");    out.println("</div>");   }   out.println("<div>");   out.println(" <div align='left'>description1:</div>");   out.println(" <div align='left'>");   out.println(description1);   out.println("</div>");   out.println("</div>");      out.println("<div>");   out.println(" <div align='left'>description2:</div>");   out.println(" <div align='left'>");   out.println(description2);   out.println("</div>");   out.println("</div>");      out.println(" </BODY>");   out.println("</HTML>");   out.flush();   out.close();  }   } public String getServletInfo() {  return "This is my default servlet created by Eclipse"; }  public void init() throws ServletException {  // Put your code here  filePath = getServletConfig().getInitParameter("filePath"); }}

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持武林網。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 武安市| 湟中县| 噶尔县| 峨眉山市| 桃园市| 西贡区| 太和县| 吉隆县| 正阳县| 上虞市| 三穗县| 吴江市| 平武县| 海安县| 武冈市| 德令哈市| 哈尔滨市| 滨州市| 寿光市| 卫辉市| 韶关市| 雷州市| 辽源市| 四平市| 康乐县| 澄城县| 高要市| 芜湖市| 贡山| 长沙市| 林西县| 陇南市| 阜阳市| 宜章县| 兴业县| 杭锦后旗| 焦作市| 邯郸县| 石阡县| 泸西县| 南丹县|