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

首頁 > 編程 > JSP > 正文

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

2024-09-05 00:22:25
字體:
來源:轉載
供稿:網友
這篇文章主要介紹了servlet+JSP+mysql實現文件上傳的方法,涉及JSP文件傳輸與判斷及數據庫操作的相關技巧,具有一定參考借鑒價值,需要的朋友可以參考下
 

本文實例講述了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。

實現過程:
 

  1. package cn.csdn.web.servlet; 
  2. import java.io.File; 
  3. import java.io.FileOutputStream; 
  4. import java.io.IOException; 
  5. import java.io.InputStream; 
  6. import java.sql.SQLException; 
  7. import java.util.List; 
  8. import java.util.UUID; 
  9. import javax.servlet.ServletException; 
  10. import javax.servlet.http.HttpServlet; 
  11. import javax.servlet.http.HttpServletRequest; 
  12. import javax.servlet.http.HttpServletResponse; 
  13. import javax.sql.DataSource; 
  14. import org.apache.commons.dbutils.QueryRunner; 
  15. import org.apache.commons.fileupload.FileItem; 
  16. import org.apache.commons.fileupload.FileUploadBase.FileSizeLimitExceededException; 
  17. import org.apache.commons.fileupload.FileUploadException; 
  18. import org.apache.commons.fileupload.disk.DiskFileItemFactory; 
  19. import org.apache.commons.fileupload.servlet.ServletFileUpload; 
  20. import cn.csdn.web.c3p0.DBManager_c3p0; 
  21. public class Upload2Servlet extends HttpServlet { 
  22. /** 
  23.  
  24. */ 
  25. private static final long serialVersionUID = 1L; 
  26. public void doGet(HttpServletRequest request, HttpServletResponse response) 
  27. throws ServletException, IOException { 
  28. doPost(request,response); 
  29. public void doPost(HttpServletRequest request, HttpServletResponse response) 
  30. throws ServletException, IOException { 
  31. request.setCharacterEncoding("UTF-8"); 
  32. try { 
  33. //實例化一個文件工廠  
  34. DiskFileItemFactory factory=new DiskFileItemFactory(); 
  35. factory.setRepository(new File("C://osp")); 
  36. String paramName=null
  37. String paramValue=null
  38. //配置上傳組件ServletFileUpload  
  39. ServletFileUpload upload=new ServletFileUpload(factory); 
  40. upload.setHeaderEncoding("UTF-8"); 
  41. upload.setFileSizeMax(1024*1024); 
  42. //從request得到所有上傳域的列表  
  43. List<FileItem> list=upload.parseRequest(request); 
  44. for(FileItem item:list){ 
  45. //如果是上傳域的文件域  
  46. if(item.isFormField()){ 
  47. //表單普通輸入項 
  48. paramName = item.getFieldName(); //上傳于的Name 
  49. // String paramValue=item.getString(); 
  50. // paramValue=new String(paramValue.getBytes("iso8859-1"),"UTF-8"); 
  51. paramValue=item.getString("UTF-8"); 
  52. System.out.println(paramName+"="+paramValue); 
  53. }else
  54. //上傳文件處理 
  55. String fileName = item.getName(); 
  56. fileName=fileName.substring(fileName.lastIndexOf("//")+1); //截取擴展名  
  57. System.out.println("name="+fileName); 
  58. if(!fileName.equals("")){ 
  59. // fileName=refactorFileName(fileName); 
  60. InputStream in=item.getInputStream(); 
  61. File file = new File("c://"+fileName); 
  62. FileOutputStream os=new FileOutputStream(file); 
  63. byte[] buf = new byte[1024]; 
  64. int len=0; 
  65. while((len=in.read(buf))>0){ 
  66. os.write(buf,0,len); 
  67. os.flush(); 
  68. os.close(); 
  69. in.close(); 
  70. item.delete(); 
  71. request.setAttribute("message""文件上傳成功"); 
  72. try { 
  73. DataSource ds = DBManager_c3p0.getDataSource(); 
  74. QueryRunner runner = new QueryRunner(ds); 
  75. String sql = "insert into user(name,file) values(?,?)"
  76. Object[] params = {paramValue,fileName}; 
  77. runner.update(sql, params); 
  78. catch (SQLException e) { 
  79. // TODO Auto-generated catch block 
  80. e.printStackTrace(); 
  81. catch(FileSizeLimitExceededException e1){ 
  82. e1.printStackTrace(); 
  83. request.setAttribute("message""文件尺寸太大"); 
  84. }catch (FileUploadException e) { 
  85. // TODO Auto-generated catch block 
  86. e.printStackTrace(); 
  87. request.setAttribute("message""文件上傳失敗"); 
  88. request.getRequestDispatcher("/message.jsp").forward(request, response); 
  89. // public String refactorFileName(String fileName){ 
  90. // return UUID.randomUUID().toString()+"_"+fileName; 
  91. // } 
?
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
8x海外华人永久免费日韩内陆视频| 欧美大成色www永久网站婷| 911国产网站尤物在线观看| 欧美在线欧美在线| 亚洲精品视频播放| 欧美激情中文网| 97在线视频一区| 97在线看免费观看视频在线观看| 国产精品大陆在线观看| 国产亚洲欧洲高清| 国产精品久久久久国产a级| 亚洲自拍欧美色图| 久久久99久久精品女同性| 亚洲国产中文字幕在线观看| 日韩不卡在线观看| 奇米影视亚洲狠狠色| 91精品免费久久久久久久久| 国产精品69久久久久| wwwwwwww亚洲| 亚洲欧美中文日韩v在线观看| 久久久黄色av| 久久全国免费视频| 国产亚洲xxx| 亚洲欧洲在线免费| 国产精品jizz在线观看麻豆| 国产啪精品视频| 欧美日韩免费一区| 最近的2019中文字幕免费一页| 欧美日韩国产精品一区二区三区四区| 国产亚洲欧美aaaa| 91精品一区二区| 性亚洲最疯狂xxxx高清| 亚洲成色999久久网站| 亚洲一区二区自拍| 亚洲欧美国产另类| 亚洲人成电影网| 日韩精品亚洲精品| 中文字幕日韩欧美在线视频| 亚洲人成在线观看| 日韩在线免费视频观看| 国产日韩欧美在线播放| 中文字幕在线看视频国产欧美在线看完整| 日韩欧美亚洲国产一区| 欧美性色视频在线| 欧美黑人又粗大| 日韩高清电影免费观看完整版| 欧美电影免费观看高清完整| 国产精品男人爽免费视频1| 亚洲欧美中文字幕| 97在线视频国产| 精品久久久久久久久久久| 欧美老女人xx| 亚洲精选在线观看| 亚洲精品成人久久| 久久久久成人精品| 狠狠躁天天躁日日躁欧美| 亚洲精品国产精品乱码不99按摩| 97国产真实伦对白精彩视频8| 亚洲欧美日韩精品久久奇米色影视| 日韩在线视频国产| 亚洲高清久久久久久| 日韩在线精品视频| 午夜精品一区二区三区在线视| 色偷偷91综合久久噜噜| 亚洲欧美日韩第一区| 欧美一区在线直播| 中文字幕在线精品| 欧美性猛xxx| 久99久在线视频| 92福利视频午夜1000合集在线观看| 精品国产999| 国内免费精品永久在线视频| 国产精品视频久久久久| 在线视频日本亚洲性| 亚洲精品成a人在线观看| 色中色综合影院手机版在线观看| 国产精品久久久久久搜索| 欧美裸体xxxx| 国产精品福利在线观看| 色www亚洲国产张柏芝| 欧美一区深夜视频| 国内外成人免费激情在线视频网站| 亚洲欧美国产一本综合首页| 亚洲精品wwww| 国产精品久久二区| 国产91在线播放| 最近2019中文字幕大全第二页| 欧美日韩国产色| 欧美性黄网官网| 国产精品久久久久久久久久久新郎| 欧美丰满少妇xxxx| 欧美噜噜久久久xxx| 欧美成人中文字幕| 久久中文精品视频| 亚洲电影中文字幕| 亚洲欧美中文日韩在线v日本| 疯狂欧美牲乱大交777| 91中文在线视频| 久久久久久久久久国产精品| 欧美亚洲伦理www| 日韩av网址在线| 亚洲国产精品字幕| 伊人伊人伊人久久| 欧美视频在线观看 亚洲欧| 成人激情av在线| 久久视频这里只有精品| 久久久精品网站| 精品丝袜一区二区三区| 国产亚洲精品美女久久久| 亚洲一区二区三区久久| 久久九九全国免费精品观看| 日韩av免费在线播放| 久久久久久com| 欧美日韩黄色大片| 久久91亚洲精品中文字幕| 91免费人成网站在线观看18| 久久免费在线观看| 欧美成人精品在线视频| 成人网址在线观看| 亚洲风情亚aⅴ在线发布| 中文字幕亚洲综合久久| 九九久久久久久久久激情| 国模精品视频一区二区| 日本精品一区二区三区在线播放视频| 91视频国产精品| 欧美黄色片在线观看| 亚洲女人被黑人巨大进入al| 欧美日韩亚洲一区二| 日本高清+成人网在线观看| 欧美视频免费在线观看| 亚洲视频视频在线| 国产69精品久久久久久| 日韩在线免费视频| 日韩精品中文字幕在线观看| 国产精品扒开腿做| 中文字幕亚洲欧美日韩2019| 亚洲精品国产美女| 欧美高清第一页| 欧美精品一区二区免费| 国产自产女人91一区在线观看| 欧美精品18videos性欧美| 91精品国产成人www| 欧美成人免费小视频| 日韩影视在线观看| 久久久久久久av| 色综合天天综合网国产成人网| 北条麻妃99精品青青久久| 九九热这里只有在线精品视| 人人澡人人澡人人看欧美| 国产精品免费福利| 欧美成aaa人片在线观看蜜臀| 91高清在线免费观看| 欧美精品第一页在线播放| 欧日韩不卡在线视频| 人人做人人澡人人爽欧美| 色偷偷噜噜噜亚洲男人的天堂| 欧美成人免费全部| 欧美国产日韩一区二区在线观看| 色婷婷成人综合| 亚洲精品国产精品国自产在线| 激情懂色av一区av二区av| 久久综合免费视频影院| 一区二区亚洲精品国产| 隔壁老王国产在线精品|