最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

J2EE Servlet上傳文件到服務器并相應顯示功能的實現(xiàn)代碼

 更新時間:2018年07月06日 08:33:19   作者:演繹、白色舞步  
這篇文章主要介紹了J2EE Servlet上傳文件到服務器,并相應顯示,在文中上傳方式使用的是post不能使用get,具體實例代碼大家參考下本文

編輯上傳文件的頁面upload.html

注意事項:上傳方式使用POST不能使用GET(GET不能上傳文件)

表單 enctype 屬性應該設置為 multipart/form-data.(表示提交的數(shù)據是二進制文件)

upload.html

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>文件上傳</title>
</head>
<body>
  <form action="UploadPhotoServlet" method="POST" enctype="multipart/form-data">
    人物名稱:<input type="text" name="heroName"/><br>
    上傳頭像:<input type="file" name="filepath"/><br>
    <input type="submit" value="上傳">
  </form>
</body>
</html>

UPloadPtotoServlet文件上傳類--上傳功能的開發(fā)

將commons-io-1.4.jar和commons-fileupload-1.2.2.jar 兩個jar包放到WEB-INF/lib 目錄下。

import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.PrintWriter;
import java.util.Iterator;
import java.util.List;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.commons.fileupload.FileItem;
import org.apache.commons.fileupload.FileUploadException;
import org.apache.commons.fileupload.disk.DiskFileItemFactory;
import org.apache.commons.fileupload.servlet.ServletFileUpload;
/**
 * Servlet implementation class UploadPhotoServlet
 */
@WebServlet("/UploadPhotoServlet")
public class UploadPhotoServlet extends HttpServlet {
  private static final long serialVersionUID = 1L;
  /**
   * @see HttpServlet#HttpServlet()
   */
  public UploadPhotoServlet() {
    super();
    // TODO Auto-generated constructor stub
  }
  /**
   * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
   */
  protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    // TODO Auto-generated method stub
//    response.getWriter().append("Served at: ").append(request.getContextPath());
    String filename=null;
    DiskFileItemFactory factory=new DiskFileItemFactory();  //磁盤文件條目工廠
    ServletFileUpload upload=new ServletFileUpload(factory); //負責處理上傳的文件數(shù)據,并將表單中每個輸入項封裝成一個fileitem對象中
    //設置上傳文件的大小為10M
    factory.setSizeThreshold(2*1024*1024);
    List items=null;
    try {
      //parse 解析
      items=upload.parseRequest(request);  //得到一個保存了所有上傳內容的List對象
    } catch (FileUploadException e) {
      // TODO Auto-generated catch block
      e.printStackTrace();
    }
    Iterator iter=items.iterator();  //迭代上傳的文件數(shù)據
    while(iter.hasNext()){
      FileItem item=(FileItem) iter.next();
      if(!item.isFormField()){ //如果不是上傳的
        //根據時間戳創(chuàng)建頭像文件
        filename=System.currentTimeMillis()+".jpg";
        //通過getrealpath獲取上傳文件夾,如果項目存在將存在當前項目下 不存在的話創(chuàng)建項目文件夾
        //圖片文件夾
        String photoFolder=request.getServletContext().getRealPath("uploaded");
        File f=new File(photoFolder,filename);
        f.getParentFile().mkdirs(); //如果父文件夾不存在則自動創(chuàng)建
        //通過item.getInputStream() 獲取瀏覽器上傳的文件
        InputStream is = item.getInputStream();  //將文件讀進來
        //復制文件
        FileOutputStream fos=new FileOutputStream(f); //往界面上顯示
        byte[] b=new byte[2*1024*1024];
        int len=0;
        while((len=is.read(b))!=-1){
          fos.write(b, 0, len);
        }
        fos.close();
      }else{
        System.out.println(item.getFieldName());//heroName
        String value=item.getString();  
        value=new String(value.getBytes("ISO-8859-1"), "UTF-8");
        System.out.println(value);  //桑葚
      }
    }
    String html="<img width='200' height='150' src='uploaded/%s'/>";
    response.setContentType("text/html");
    PrintWriter pw=response.getWriter();
    pw.format(html, filename);
  }
  /**
   * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
   */
  protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    // TODO Auto-generated method stub
    doGet(request, response);
  }
}

運行結果:

總結

以上所述是小編給大家介紹的J2EE Servlet上傳文件到服務器并相應顯示功能的實現(xiàn)代碼,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對腳本之家網站的支持!

相關文章

  • SpringBoot統(tǒng)一返回處理出現(xiàn)cannot?be?cast?to?java.lang.String異常解決

    SpringBoot統(tǒng)一返回處理出現(xiàn)cannot?be?cast?to?java.lang.String異常解決

    這篇文章主要給大家介紹了關于SpringBoot統(tǒng)一返回處理出現(xiàn)cannot?be?cast?to?java.lang.String異常解決的相關資料,文中通過圖文介紹的非常詳細,需要的朋友可以參考下
    2023-09-09
  • springboot封裝JsonUtil,CookieUtil工具類代碼實例

    springboot封裝JsonUtil,CookieUtil工具類代碼實例

    這篇文章主要介紹了springboot封裝JsonUtil,CookieUtil工具類過程解析,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2019-09-09
  • Java創(chuàng)建類模式_動力節(jié)點Java學院整理

    Java創(chuàng)建類模式_動力節(jié)點Java學院整理

    這篇文章主要為大家詳細介紹了Java創(chuàng)建類模式的相關方法,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-08-08
  • 一文徹底弄懂Java中MultipartFile接口和File類

    一文徹底弄懂Java中MultipartFile接口和File類

    MultipartFile是一個接口,我們可以理解為是Spring?給我們綁定的一個在使用文件上傳等時簡便實現(xiàn)的口子,這篇文章主要給大家介紹了關于如何通過一文徹底弄懂Java中MultipartFile接口和File類的相關資料,需要的朋友可以參考下
    2023-11-11
  • SpringCloud分布式鏈路追蹤組件Sleuth配置詳解

    SpringCloud分布式鏈路追蹤組件Sleuth配置詳解

    這篇文章主要介紹了SpringCloud鏈路追蹤組件Sleuth配置方法解析,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2022-11-11
  • spring scheduled單線程和多線程使用過程中的大坑

    spring scheduled單線程和多線程使用過程中的大坑

    本文主要介紹了spring scheduled單線程和多線程使用過程中的大坑,文中通過示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-01-01
  • Java?設計模式中的策略模式詳情

    Java?設計模式中的策略模式詳情

    這篇文章主要介紹了Java?設計模式中的策略模式詳情,文章圍繞主題展開詳細的內容介紹,具有一定的參考價值,需要的小伙伴可以參考一下
    2022-09-09
  • Spring?Boot超大文件上傳實現(xiàn)秒傳功能

    Spring?Boot超大文件上傳實現(xiàn)秒傳功能

    這篇文章主要介紹了Spring?Boot超大文件上傳實現(xiàn)秒傳功能,在實現(xiàn)分片上傳的過程,需要前端和后端配合,比如前后端的上傳塊號的文件大小,前后端必須得要一致,否則上傳就會有問題,需要的朋友可以參考下
    2022-12-12
  • @JsonSerialize不起作用的解決方案

    @JsonSerialize不起作用的解決方案

    這篇文章主要介紹了@JsonSerialize不起作用的解決方案,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-10-10
  • java通過控制鼠標實現(xiàn)屏幕廣播的方法

    java通過控制鼠標實現(xiàn)屏幕廣播的方法

    這篇文章主要介紹了java通過控制鼠標實現(xiàn)屏幕廣播的方法,針對前面一篇Java屏幕共享功能進行了改進,實現(xiàn)了鼠標控制功能,具有一定的實用價值,需要的朋友可以參考下
    2014-12-12

最新評論

三台县| 宁津县| 城市| 岳西县| 宜城市| 应城市| 万年县| 霞浦县| 犍为县| 广东省| 谷城县| 宁海县| 三都| 高清| 永顺县| 舟山市| 天峻县| 贞丰县| 冷水江市| 枞阳县| 香港| 鄂托克旗| 五台县| 康定县| 大石桥市| 阜宁县| 万荣县| 化州市| 磐石市| 南丹县| 贵溪市| 古交市| 南郑县| 馆陶县| 通渭县| 宜良县| 芜湖县| 北川| 雅安市| 两当县| 交口县|