亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > JSP > 正文

Servlet+Jsp實現圖片或文件的上傳功能具體思路及代碼

2024-09-05 00:20:53
字體:
來源:轉載
供稿:網友
web項目中的這一上傳功能,那么文件是如何從本地發送到服務器的呢,接下來為大家介紹下Servlet+Jsp實現文件的上傳功能,感興趣的朋友可以參考下哈

現在不管是博客論壇還是企業辦公,都離不開資源的共享。通過文件上傳的方式,與大家同分享,從而達到大眾間廣泛的溝通和交流,我們既可以從中獲得更多的知識和經驗,也能通過他人的反饋達到自我改進和提升的目的。

下面我就為大家介紹 web項目中的這一上傳功能,那么文件是如何從本地發送到服務器的呢?看我慢慢道來:
首先,我們創建一個新的web工程,在工程的WebRoot目錄下新建一個upload文件夾,這樣當我們將該工程部署到服務器上時,服務器便也生成個upload文件夾,用來存放上傳的資源。

然后,在WebRoot目錄下新建一個jsp文件,主要實現的作用就是選擇上傳的文件,提交至servlet來進行處理
詳細代碼如下:一個form將文件信息通過post方式傳送到指定的servlet

復制代碼 代碼如下:


<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<base href="<%=basePath%>">
<title>My JSP 'upload.jsp' starting page</title>
<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="This is my page">
<!--
<link type="text/css" href="styles.css">
-->
</head>
<body>
<form action="/upload/UpLoad" method="post" enctype="multipart/form-data">
請選擇上傳的圖片或文件:<input type="file"/><input type="submit" value="上傳"/>
</form>
</body>
</html>


可以看到,我們將數據提交到工程下的upload/UpLoad。
之后,我們就來編寫這個servlet——UpLoad.java

復制代碼 代碼如下:


package load;
import java.io.File;
import java.io.IOException;
import java.io.PrintWriter;
import java.util.List;
import javax.servlet.ServletContext;
import javax.servlet.ServletException;
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;
public class UpLoad extends HttpServlet {
@SuppressWarnings("unchecked")
@Override
protected void service(HttpServletRequest req, HttpServletResponse resp)
throws ServletException, IOException {
req.setCharacterEncoding("utf-8");
resp.setContentType("text/html;charset=utf-8");
//為解析類提供配置信息
DiskFileItemFactory factory = new DiskFileItemFactory();
//創建解析類的實例
ServletFileUpload sfu = new ServletFileUpload(factory);
//開始解析
sfu.setFileSizeMax(1024*400);
//每個表單域中數據會封裝到一個對應的FileItem對象上
try {
List<FileItem> items = sfu.parseRequest(req);
//區分表單域
for (int i = 0; i < items.size(); i++) {
FileItem item = items.get(i);
//isFormField為true,表示這不是文件上傳表單域
if(!item.isFormField()){
ServletContext sctx = getServletContext();
//獲得存放文件的物理路徑
//upload下的某個文件夾 得到當前在線的用戶 找到對應的文件夾

String path = sctx.getRealPath("/upload");
System.out.println(path);
//獲得文件名
String fileName = item.getName();
System.out.println(fileName);
//該方法在某些平臺(操作系統),會返回路徑+文件名
fileName = fileName.substring(fileName.lastIndexOf("/")+1);
File file = new File(path+"http://"+fileName);
if(!file.exists()){
item.write(file);
//將上傳圖片的名字記錄到數據庫中

resp.sendRedirect("/upload/ok.html");
}
}
}
} catch (Exception e) {
e.printStackTrace();
}

}
}


因為已對 代碼做了詳細的注釋,所以相信大家也能基本上傳的這個過程。要注意的一點是解析實例空間大小的設置。我們希望上傳的文件不會是無限大,因此,設置

復制代碼 代碼如下:


.setFileSizeMax(1024*400);


在這兒我們也可以將其設置成一個條件,當文件大于最大值時向頁面 提交錯誤提示。此外,也可以讀取選擇文件的后綴來篩選出可以上傳的類型。這些代碼大家自己擴展,不再細談。

通過servlet, 將正確的文件傳送到服務端的upload文件夾中。這兒要注意,如果以后將工程從tomcat移除后,這些文件就會被自動刪除。

上傳結束之后,使頁面轉到上傳成功頁面ok.html。 當用戶看到此頁面時,說明你已實現文件的上傳功能。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
97超碰国产精品女人人人爽| 亚洲天堂免费在线| 亚洲色图日韩av| 日韩精品免费在线播放| 亚洲国产中文字幕在线观看| 日韩精品高清视频| 日韩av最新在线| 午夜精品一区二区三区av| 久久久久久有精品国产| 亚洲一区二区三区sesese| 亚洲永久免费观看| 色噜噜久久综合伊人一本| 狠狠色狠狠色综合日日五| 日韩视频在线一区| 国产99在线|中文| 久久久久久九九九| 亚洲免费视频网站| 日韩精品极品在线观看| 欧美激情视频网| 久久精品国产69国产精品亚洲| 国产精品久久久久77777| 国产一区二区三区在线播放免费观看| 欧美一性一乱一交一视频| 国产精品综合不卡av| 91精品国产91久久久久久吃药| 亚洲欧美精品suv| 亚洲偷熟乱区亚洲香蕉av| 亚洲国产成人久久综合一区| 国产精品一区专区欧美日韩| 91精品国产91久久久久久久久| 91免费综合在线| 欧美乱妇高清无乱码| 91成人精品网站| 亚洲精品二三区| 日韩av免费看| 午夜精品在线视频| 色综合导航网站| 亚洲国产日韩欧美在线99| 日韩精品在线视频观看| 欧美激情免费看| 日韩精品久久久久久久玫瑰园| 国外成人在线直播| 国产区精品在线观看| 久久久av亚洲男天堂| 色七七影院综合| 国产一区二区三区精品久久久| 色吧影院999| 国产精品免费久久久久久| 日韩av免费在线| 亚洲www永久成人夜色| 国产日产久久高清欧美一区| 亚洲精品电影网在线观看| 国产伊人精品在线| 4p变态网欧美系列| 国产精品亚洲精品| 亚洲乱码一区av黑人高潮| 久久69精品久久久久久国产越南| 丝袜亚洲另类欧美重口| 97av在线影院| 国产在线观看精品一区二区三区| 精品国产网站地址| 欧美日韩国产限制| 第一福利永久视频精品| 国产精品专区h在线观看| 国产精品久久一| 成人亲热视频网站| 136fldh精品导航福利| 日本久久久久久久久| 日韩欧美在线字幕| 中文字幕成人在线| 精品爽片免费看久久| 欧美成人亚洲成人日韩成人| 欧美极品美女视频网站在线观看免费| 欧美一性一乱一交一视频| 91地址最新发布| 97人人做人人爱| 91香蕉嫩草神马影院在线观看| 亚洲第一区第二区| 日韩在线视频网| 精品偷拍各种wc美女嘘嘘| 国产成人精品在线视频| 亚洲人成在线播放| 亚洲国产另类 国产精品国产免费| 日韩在线观看精品| 欧美贵妇videos办公室| 日韩欧美亚洲成人| 日韩网站在线观看| 亚洲激情视频网| 亚洲毛片在线观看| 久久精彩免费视频| 亚洲欧美日韩另类| 亚洲福利小视频| 亚洲无av在线中文字幕| 精品国产欧美一区二区五十路| 欧美成人在线免费视频| 黑人狂躁日本妞一区二区三区| 久久九九国产精品怡红院| 亚洲性生活视频在线观看| 亚洲自拍偷拍福利| 日韩一区二区福利| 久久久久久伊人| 丝袜亚洲欧美日韩综合| 伊人久久大香线蕉av一区二区| 在线精品国产成人综合| 中文字幕日韩欧美| 中文字幕欧美亚洲| 欧美日韩国产页| 久久免费精品视频| 免费不卡欧美自拍视频| 亚洲午夜精品视频| 精品一区二区三区电影| 精品视频在线导航| 日韩免费高清在线观看| 亚洲欧美在线免费| 日韩av日韩在线观看| 亚洲自拍偷拍一区| www亚洲欧美| 亚洲电影免费观看高清完整版在线观看| 久久99亚洲精品| 亚洲精品二三区| 午夜精品www| 亚洲人成网站免费播放| 精品亚洲国产成av人片传媒| 欧美成人免费观看| 欧美精品午夜视频| 一区二区三区四区在线观看视频| 欧美老女人www| 日韩美女视频在线观看| 亚洲色图狂野欧美| 国语自产精品视频在免费| 亚洲精品动漫100p| 欧美老肥婆性猛交视频| 精品成人国产在线观看男人呻吟| 日韩精品在线观看网站| 国产91精品最新在线播放| 成人福利视频在线观看| 伊人激情综合网| 亚洲欧美日韩中文在线| 国产在线日韩在线| 中文字幕精品在线视频| 欧美成人午夜激情在线| 国产精品高精视频免费| 中文字幕欧美日韩va免费视频| 亚洲成人a**站| 97精品在线观看| 欧美高清视频免费观看| 国产精品久久久久久久久久免费| 国产美女精品免费电影| 美女视频久久黄| 成人深夜直播免费观看| 最新国产成人av网站网址麻豆| 日韩精品视频在线免费观看| 九九热精品视频国产| 国外成人免费在线播放| 亚洲码在线观看| 国内免费久久久久久久久久久| 91精品视频观看| 亚洲sss综合天堂久久| 91精品国产91久久久久久| 91sa在线看| 国内成人精品一区| 伊人久久大香线蕉av一区二区| 欧美成人午夜激情视频| 疯狂蹂躏欧美一区二区精品|