91精产品自偷自偷综合官网版下载-91精产品自偷自偷综合下-91精品-91精品91久久久-91精品成人-91精品成人www

網站建設資訊

NEWS

網站建設資訊

怎么在Java項目中利用Servlet將圖片上傳到指定的文件夾中

今天就跟大家聊聊有關怎么在Java項目中利用Servlet將圖片上傳到指定的文件夾中,可能很多人都不太了解,為了讓大家更加了解,小編給大家總結了以下內容,希望大家根據這篇文章可以有所收獲。

金東ssl適用于網站、小程序/APP、API接口等需要進行數據傳輸應用場景,ssl證書未來市場廣闊!成為成都創新互聯公司的ssl證書銷售渠道,可以享受市場價格4-6折優惠!如果有意向歡迎電話聯系或者加微信:18982081108(備注:SSL證書合作)期待與您的合作!

步驟一:上傳頁面uploadphoto.jsp

需要注意兩個問題:

1.form 的method必須是post的,get不能上傳文件, 還需要加上enctype="multipart/form-data" 表示提交的數據是二進制文件。

2.需要提供type="file" 的字段進行上傳    

<%@ page language="java" contentType="text/html; charset=UTF-8"
 pageEncoding="UTF-8"%>




upload page


 
   英雄名稱:  

     上傳頭像:  

         

步驟二:UploadPhotoServlet類

1. 需要用到兩個第三方的jar包,commons-io-1.4.jar和commons-fileupload-1.2.2.jar。項目是Maven項目,直接在pom.xml文件中引入:


 commons-io
 commons-io
 2.4


 commons-fileupload
 commons-fileupload
 1.3.1

2. 前部分代碼是固定寫法,用來做一些準備工作。 直到遍歷出Item,一個Item就是對應一個瀏覽器提交的數據,通過item.getInputStream可以打開瀏覽器上傳的文件的輸入流。

   3. 客戶提交的文件名有可能是一樣的,所以在服務端保存文件的時候,不能使用客戶提交的文件名。這里使用的是一種粗糙的解決文件名重復的辦法,即使用時間戳。

package servlet;
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.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
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;
public class UploadPhotoServlet extends HttpServlet {
 public static String filename = null;
 /**
  * 
  */
 private static final long serialVersionUID = 1L;
 public void doGet(HttpServletRequest request,HttpServletResponse response){
 }
 @SuppressWarnings("rawtypes")
 public void doPost(HttpServletRequest request,HttpServletResponse response) throws IOException, ServletException{
  DiskFileItemFactory factory = new DiskFileItemFactory();
  ServletFileUpload upload = new ServletFileUpload(factory);
  factory.setSizeThreshold(1024 * 1024);
  List items = null;
  try {
   items = upload.parseRequest(request);
  } catch (FileUploadException e) {
   e.printStackTrace();
  }
  Iterator iter = items.iterator();
  while(iter.hasNext()){
   FileItem item = (FileItem) iter.next();
   if(!item.isFormField()){
    // 根據時間戳創建頭像文件
    filename = System.currentTimeMillis() + ".jpg";
    System.out.println(request.getContextPath());
    /*File f = new File(getServletContext().getRealPath("upload"));*/
    File f = new File("D://image");
    if (!f.exists()) { 
     f.mkdir(); 
    } 
    String imgsrc = f + "/" + filename;
    // 復制文件
    InputStream is = item.getInputStream();    
    FileOutputStream fos = new FileOutputStream(imgsrc);
    byte b[] = new byte[1024 * 1024];
    int length = 0;
    while (-1 != (length = is.read(b))) {
     fos.write(b, 0, length);     
    }
    fos.flush();
    fos.close(); 
   }else {
    System.out.println(item.getFieldName());
    String value = item.getString();
    value = new String(value.getBytes("ISO-8859-1"), "UTF-8");
    System.out.println(value);
   }
  }   
  //request.setAttribute("filename", filename);  
  //request.getRequestDispatcher("/showPhoto").forward(request, response);
  response.sendRedirect("/ServletTest/showPhoto?filename="+filename);  
 }
}

步驟三:ShowPhotoServlet類

其實這個類可以省略,即可以直接在UploadPhotoServlet類中跳轉到頁面showphoto.jsp,但是為了學習Servlet跳轉方面的知識,于是增加一個新的Servlet類。

package servlet;
import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
public class ShowPhotoServlet extends HttpServlet{
 /**
  * 
  */
 private static final long serialVersionUID = 1L;
 public void doGet(HttpServletRequest request,HttpServletResponse response) throws ServletException, IOException{
  String filename = request.getParameter("filename").toString();
  response.sendRedirect("/ServletTest/showphoto.jsp?filename="+filename); 
 }
 public void doPost(HttpServletRequest request,HttpServletResponse response) throws ServletException, IOException{
  String filename = request.getAttribute("filename").toString();
  request.setAttribute("filename", filename);
  request.getRequestDispatcher("/showphoto.jsp").forward(request, response);
 }
}

1.servlet跳轉至jsp(注意)

   詳見:https://www.jb51.net/article/120301.htm

a.服務端跳轉瀏覽器的地址不變(請求轉發)

request.setAttribute("filename", filename);
   request.getRequestDispatcher("/showphoto.jsp").forward(request, response); 

b.客戶端跳轉瀏覽器的地址發生變化(請求重定向) 

 response.sendRedirect("/ServletTest/showphoto.jsp?filename="+filename);

2.servlet跳轉至另一個servlet

a.服務端跳轉需要重寫doPost以獲取傳遞參數     

 String filename = request.getAttribute("filename").toString();

b.客戶端跳轉需要重寫doGet以獲取傳遞參數 

String filename = request.getParameter("filename").toString();

步驟三:web.xml配置  


  UploadPhotoServlet
  servlet.UploadPhotoServlet
  
 
  UploadPhotoServlet
  /uploadPhoto
  
 
  ShowPhotoServlet
  servlet.ShowPhotoServlet
  
 
  ShowPhotoServlet
  /showPhoto
 

步驟四:展示頁面showphoto.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8"
 pageEncoding="UTF-8"%>




Image page


<%
 String filename = request.getParameter("filename"); 
 String srcimg = "/image/"+filename;
%>
"/>

1.配置虛擬路徑

圖片和工程不在一個盤符下。圖片也不能放到工程下。 在JSP 文件中   這樣是引不到圖片的。因為,JSP頁面在引圖片的時候是在頁面解析的路徑是:。也就是說JSP在引圖片的時候是先去工程目錄下找的。

 解決辦法:

使用虛擬路徑來配置,在tomcat下的server.xml中增加一個代碼 在中間:  

然后在JSP頁面中就可以訪問圖片了。

最終實現效果:

上傳界面:

怎么在Java項目中利用Servlet將圖片上傳到指定的文件夾中

展示界面: 

怎么在Java項目中利用Servlet將圖片上傳到指定的文件夾中                            

 保存圖片的文件夾:   

怎么在Java項目中利用Servlet將圖片上傳到指定的文件夾中

看完上述內容,你們對怎么在Java項目中利用Servlet將圖片上傳到指定的文件夾中有進一步的了解嗎?如果還想了解更多知識或者相關內容,請關注創新互聯行業資訊頻道,感謝大家的支持。


網站名稱:怎么在Java項目中利用Servlet將圖片上傳到指定的文件夾中
網站鏈接:http://www.yuzhuanjia.cn/article/joidpe.html
主站蜘蛛池模板: 丰满人妻一区二 | 成人在免费视频手机观看网站 | av无码无在线观看免费 | av美女| 91视频亚| 91九色国产亚洲 | 91精品在线观看入口火爆更新 | 白丝jk女仆爆乳自慰喷水 | 动漫精品中文字幕无码第一页 | WWW九九九毛片无码一区二区 | 午夜成人理论福利片网盘高清资源 | 国产av一区二区最新精品 | 丰满肥妇bb | 97淫荡人妻无码视频 | 91无码国产福利在线观看 | 国产av在线观看18 | 粗大的内捧猛烈进出欧美 | 91香蕉成人 | 99久久无码一区人妻A片蜜 | 91黄色片| 久草免费福利视 | 午夜福利小 | 国产521精品网站 | 99久久香蕉国产综合影院 | www免费观看视频 | 99久久久无码国产精精品免费 | 91成人免费福利网站在线 | 午夜热搜电影天堂在线观看全集免费 | av午夜福利一片免费看久久 | 干干干操操操 | 东京热一精品无码一二三 | 午夜性色 | 99久久久无码国产aaa精品v精 | 99精产国品一二三产区在线 | 91人妻中文字幕在线精品 | 97se狠狠狠狠狼鲁亚洲综合色 | av片中文字幕 | 99精品无码A片一区二区城 | 二区三区白人 | 91国偷自产一区二区三区蜜臀 | 果冻传媒2025精品 |