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

首頁 > 編程 > JSP > 正文

servlet+JSP+mysql實現文件上傳的方法

2020-07-27 21:28:57
字體:
來源:轉載
供稿:網友

本文實例講述了servlet+JSP+mysql實現文件上傳的方法。分享給大家供大家參考,具體如下:

一、文件上傳的基本操作:

1、 表單屬性enctype的設置

multipart/form-data和application/x-www-form-urlencoded的區別

FORM元素的enctype屬性指定了表單數據向服務器提交時所采用的編碼類型,默認的缺省值是“application/x-www-form-urlencoded”。

然而,在向服務器發送大量的文本、包含非ASCII字符的文本或二進制數據時這種編碼方式效率很低。

在文件上載時,所使用的編碼類型應當是“multipart/form-data”,它既可以發送文本數據,也支持二進制數據上載。

Browser端<form>表單的ENCTYPE屬性值為multipart/form-data,它告訴我們傳輸的數據要用到多媒體傳輸協議,由于多媒體傳輸的都是大量的數據,所以規定上傳文件必須是post方法,<input>的type屬性必須是file。

實現過程:

package cn.csdn.web.servlet;import java.io.File;import java.io.FileOutputStream;import java.io.IOException;import java.io.InputStream;import java.sql.SQLException;import java.util.List;import java.util.UUID;import javax.servlet.ServletException;import javax.servlet.http.HttpServlet;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import javax.sql.DataSource;import org.apache.commons.dbutils.QueryRunner;import org.apache.commons.fileupload.FileItem;import org.apache.commons.fileupload.FileUploadBase.FileSizeLimitExceededException;import org.apache.commons.fileupload.FileUploadException;import org.apache.commons.fileupload.disk.DiskFileItemFactory;import org.apache.commons.fileupload.servlet.ServletFileUpload;import cn.csdn.web.c3p0.DBManager_c3p0;public class Upload2Servlet extends HttpServlet {/*** */private static final long serialVersionUID = 1L;public void doGet(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException {doPost(request,response);}public void doPost(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException {request.setCharacterEncoding("UTF-8");try {//實例化一個文件工廠 DiskFileItemFactory factory=new DiskFileItemFactory();factory.setRepository(new File("C://osp"));String paramName=null;String paramValue=null;//配置上傳組件ServletFileUpload ServletFileUpload upload=new ServletFileUpload(factory);upload.setHeaderEncoding("UTF-8");upload.setFileSizeMax(1024*1024);//從request得到所有上傳域的列表 List<FileItem> list=upload.parseRequest(request);for(FileItem item:list){//如果是上傳域的文件域 if(item.isFormField()){//表單普通輸入項paramName = item.getFieldName(); //上傳于的Name// String paramValue=item.getString();// paramValue=new String(paramValue.getBytes("iso8859-1"),"UTF-8");paramValue=item.getString("UTF-8");System.out.println(paramName+"="+paramValue);}else{//上傳文件處理String fileName = item.getName();fileName=fileName.substring(fileName.lastIndexOf("http://")+1); //截取擴展名 System.out.println("name="+fileName);if(!fileName.equals("")){// fileName=refactorFileName(fileName);InputStream in=item.getInputStream();File file = new File("c://"+fileName);FileOutputStream os=new FileOutputStream(file);byte[] buf = new byte[1024];int len=0;while((len=in.read(buf))>0){os.write(buf,0,len);}os.flush();os.close();in.close();item.delete();request.setAttribute("message", "文件上傳成功");try {DataSource ds = DBManager_c3p0.getDataSource();QueryRunner runner = new QueryRunner(ds);String sql = "insert into user(name,file) values(?,?)";Object[] params = {paramValue,fileName};runner.update(sql, params);} catch (SQLException e) {// TODO Auto-generated catch blocke.printStackTrace();}}}}} catch(FileSizeLimitExceededException e1){e1.printStackTrace();request.setAttribute("message", "文件尺寸太大");}catch (FileUploadException e) {// TODO Auto-generated catch blocke.printStackTrace();request.setAttribute("message", "文件上傳失敗");}request.getRequestDispatcher("/message.jsp").forward(request, response);}// public String refactorFileName(String fileName){// return UUID.randomUUID().toString()+"_"+fileName;// }}

二、上傳文件要注意的有:

注意編碼問題 防止出現中文亂碼 上邊列舉出一種
其他的還有臨時文件解決問題 臨時文件刪除問題
解決沒有指定文件名的問題
判斷獲取的文件名是否為空
保存路徑問題
如表示url資源時應該用斜杠 “/”
如表示硬盤路徑時用斜杠“//”
為保證服務器安全,上傳的文件應禁止用戶直接訪問,通常保存在應用程序的WEB-INF目錄下,或者不受WEB服務器管理的目錄

希望本文所述對大家jsp程序設計有所幫助。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
亚洲欧美日韩爽爽影院| 欧美极品欧美精品欧美视频| 欧美一级高清免费播放| 亚洲欧美日韩一区二区三区在线| 国产在线98福利播放视频| 欧美极品少妇xxxxⅹ喷水| 国产精品高潮呻吟久久av野狼| 国产一区二区三区视频免费| 国产日韩精品在线播放| 日韩av免费看网站| 亚洲午夜女主播在线直播| 日韩一区二区三区国产| 欧美专区中文字幕| 国产精彩精品视频| 国产精品久久一区主播| 2024亚洲男人天堂| 日韩欧美有码在线| 久久免费福利视频| 国产精品一久久香蕉国产线看观看| 精品福利在线视频| 国产一级揄自揄精品视频| 欧亚精品在线观看| 欧美性极品少妇精品网站| 日韩免费在线免费观看| 欧美剧在线观看| 国产精品www| 亚洲人成电影网站色…| 亚洲色图校园春色| 久久久www成人免费精品张筱雨| 欧美日韩国产成人在线| 亚洲国产日韩欧美在线动漫| 久久国产精品免费视频| 亚洲精品国产电影| 88国产精品欧美一区二区三区| 久久躁日日躁aaaaxxxx| 久久久999国产精品| 亚洲性日韩精品一区二区| 欧美国产日韩在线| 久色乳综合思思在线视频| 5566成人精品视频免费| 2020国产精品视频| 亚洲精品一区二区三区不| 亚洲精品视频网上网址在线观看| 欧美综合一区第一页| 一区二区三区回区在观看免费视频| 日日摸夜夜添一区| 午夜精品福利视频| 91精品国产91久久久| 成人精品在线视频| 亚洲欧美国产一区二区三区| 国产精品久久久久久婷婷天堂| 欧美精品一二区| 欧美精品在线免费播放| 日韩中文在线观看| 亚洲人成电影网站色| 欧美最近摘花xxxx摘花| 亚洲精选一区二区| 亚洲综合中文字幕在线观看| 丁香五六月婷婷久久激情| 人人做人人澡人人爽欧美| 日韩精品视频在线观看网址| 国产精品欧美激情| 国产91在线播放九色快色| 国产激情久久久| 在线日韩日本国产亚洲| 欧美成年人视频网站欧美| 久久人人爽人人爽爽久久| www.久久草.com| 久久视频免费在线播放| 欧美裸体xxxx极品少妇软件| 国产精品夫妻激情| 97在线视频国产| 国产精品亚洲аv天堂网| 国产成人avxxxxx在线看| 九九精品在线播放| 97成人精品区在线播放| 国产激情999| 亚洲第一色在线| 宅男66日本亚洲欧美视频| 欧美大片在线免费观看| 色综合久久天天综线观看| 久久久久久69| 国产精品高清在线观看| 亚洲网站在线播放| 国产精品jizz在线观看麻豆| 一区二区亚洲精品国产| 国产香蕉精品视频一区二区三区| 精品国产一区二区三区四区在线观看| 亚洲美腿欧美激情另类| 成人精品久久一区二区三区| 国产精品久久99久久| 国产精品专区一| 亚洲字幕一区二区| 国产精品免费久久久| 久久99久久久久久久噜噜| 亚洲国产精品久久精品怡红院| 精品一区二区三区三区| 宅男66日本亚洲欧美视频| 91精品久久久久| 久久久久久久激情视频| 不卡av日日日| 久久久噜噜噜久久中文字免| 日韩免费观看在线观看| 欧美日产国产成人免费图片| 在线视频欧美性高潮| 日韩福利伦理影院免费| 亚洲第一区第一页| 久久综合88中文色鬼| 日韩欧美有码在线| 成人黄色免费看| 日韩的一区二区| 欧美老女人在线视频| 91免费看片在线| 久久好看免费视频| 国产自产女人91一区在线观看| 国产精品美腿一区在线看| 日韩成人在线播放| 96sao精品视频在线观看| 欧美高清激情视频| 日韩欧美在线免费观看| 国产噜噜噜噜久久久久久久久| 中文字幕亚洲欧美日韩在线不卡| 国产日本欧美一区二区三区在线| 国产91精品久久久久久久| 茄子视频成人在线| 91chinesevideo永久地址| 亚洲a级在线观看| 亚洲第一网站免费视频| 精品呦交小u女在线| 中文字幕v亚洲ⅴv天堂| 午夜精品一区二区三区在线播放| 久久精品在线视频| 亚洲色图校园春色| 日韩在线观看免费高清完整版| 日韩精品小视频| 91精品国产高清久久久久久久久| 午夜欧美不卡精品aaaaa| 亚洲美女免费精品视频在线观看| 日韩毛片中文字幕| 欧美高清视频在线播放| 中文国产成人精品久久一| 欧美国产日韩xxxxx| 97精品国产91久久久久久| 亚洲精品中文字幕女同| 国产精品稀缺呦系列在线| 色偷偷888欧美精品久久久| 国产一区二区三区三区在线观看| 久久伊人免费视频| 国产一区二区丝袜高跟鞋图片| 欧美一区深夜视频| 日韩美女免费视频| 成人午夜激情免费视频| 91精品视频在线看| 国产偷国产偷亚洲清高网站| 欧美另类在线观看| 国产精品久久综合av爱欲tv| 欧美日韩激情美女| 成人亚洲综合色就1024| 日韩av免费一区| 亚洲欧美中文日韩v在线观看| 欧美日韩国产成人在线观看| 久久久久国产精品免费网站| 2019中文字幕在线| 欧美激情在线播放|