成人在线亚洲_国产日韩视频一区二区三区_久久久国产精品_99国内精品久久久久久久

您的位置:首頁技術文章
文章詳情頁

Jsp+Servlet實現文件上傳下載 刪除上傳文件(三)

瀏覽:137日期:2022-06-07 16:45:46

接著上一篇講:Jsp+Servlet實現文件上傳下載(二)--文件列表展示

本章來實現一下刪除已上傳文件,同時優化了一下第一章中的代碼。

廢話少說,上代碼得意

1.調整列表頁面list.jsp

<%@ page contentType="text/html;charset=UTF-8" language="java" %> <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> <html> <head>  <title>上傳文件列表</title> </head> <body>  <h3>文件列表</h3> <table border="1" bordercolor="#000000" cellspacing="0" cellpadding="2">  <tr>   <th>文件名</th>   <th>文件大小(KB)</th>   <th>操作</th>  </tr>  <c:if test="${not empty accessoryList}">   <c:forEach items="${accessoryList}" var="acc">    <tr>     <td>${acc.fileName}</td>     <td>${acc.fileSize}</td>     <td><a href="<%=request.getContextPath()%>/removeUploadedFile?id=${acc.id}" rel="external nofollow" >刪除</a></td>    </tr>   </c:forEach>  </c:if> </table> </body> </html> 

2.新增FileUtils工具類

package util;  import java.io.File;  /**  * 文件操作工具類  *  * @author xusucheng  * @create 2017-12-30  **/ public class FileUtils {  public static boolean delete(String path){   File file = new File(path);   if(!file.isFile()){    System.out.println("刪除失敗,文件:"+path+"不存在!");    return false;   }    file.delete();    return true;  } } 

3.調整附件實體DAO,新增load方法

package dao.upload;  import entity.upload.EntityAccessory; import util.DBUtil;  import java.math.BigDecimal; import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException; import java.util.ArrayList; import java.util.List;  /**  * 附件上傳DAO  *  * @author xusucheng  * @create 2017-12-29  **/ public class AccessoryDao {  public static void add(EntityAccessory entity) {   Connection conn = DBUtil.getConnection();   String sql = "insert into tbl_accessory(file_name,file_size,file_ext_name,file_path) values(?,?,?,?)";   try {    PreparedStatement ps = conn.prepareStatement(sql);    ps.setString(1, entity.getFileName());    ps.setDouble(2, entity.getFileSize());    ps.setString(3, entity.getFile_ext_name());    ps.setString(4, entity.getFilePath());    ps.execute();    //conn.commit();     DBUtil.close(null, ps, conn);   } catch (SQLException e) {    e.printStackTrace();   }  }   public static List<EntityAccessory> list() {   Connection conn = DBUtil.getConnection();   String sql = "select id,file_name,file_size,file_ext_name,file_path from tbl_accessory";   List<EntityAccessory> accessoryList = new ArrayList<>();   try {    PreparedStatement ps = conn.prepareStatement(sql);    ResultSet rs = ps.executeQuery();     while (rs.next()) {     EntityAccessory entity = new EntityAccessory();     entity.setId(rs.getInt("id"));     entity.setFileName(rs.getString("file_name"));     entity.setFileSize(new BigDecimal(rs.getDouble("file_size") / 1024).setScale(2, BigDecimal.ROUND_HALF_UP).doubleValue());     entity.setFile_ext_name(rs.getString("file_ext_name"));     entity.setFilePath(rs.getString("file_path"));     accessoryList.add(entity);    }     DBUtil.close(rs, ps, conn);   } catch (SQLException e) {    e.printStackTrace();   }    return accessoryList;   }   public static EntityAccessory load(int id){   Connection conn = DBUtil.getConnection();   PreparedStatement ps=null;   ResultSet rs=null;   EntityAccessory entity = new EntityAccessory();   String sql = "select id, file_name,file_size,file_ext_name,file_path from tbl_accessory where id=?";   try {    ps = conn.prepareStatement(sql);    ps.setInt(1,id);    rs = ps.executeQuery();    while (rs.next()){     entity.setId(rs.getInt("id"));     entity.setFileName(rs.getString("file_name"));     entity.setFileSize(rs.getDouble("file_size"));     entity.setFile_ext_name(rs.getString("file_ext_name"));     entity.setFilePath(rs.getString("file_path"));    }   } catch (SQLException e) {    e.printStackTrace();   }finally {    DBUtil.close(rs,ps,conn);   }    return entity;  }   public static void remove(int id) {   Connection conn = DBUtil.getConnection();   String sql = "delete from tbl_accessory where id=?";   try {    PreparedStatement ps = conn.prepareStatement(sql);    ps.setInt(1,id);    ps.execute();    //conn.commit(); mysql默認開啟了autocommit     DBUtil.close(null,ps,conn);   } catch (SQLException e) {    e.printStackTrace();   }  } } 

4.新增刪除文件處理器,removeUploadedFileServlet

package servlet.upload;  import dao.upload.AccessoryDao; import entity.upload.EntityAccessory; import util.FileUtils;  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 java.io.IOException;  /**  * 刪除已上傳文件  *  * @author xusucheng  * @create 2017-12-30  **/ @WebServlet("/removeUploadedFile") public class removeUploadedFileServlet extends HttpServlet {  @Override  protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {   //String filePath = request.getParameter("filePath");   int fileId = Integer.valueOf(request.getParameter("id"));   EntityAccessory entity = AccessoryDao.load(fileId);   //刪除文件   FileUtils.delete(entity.getFilePath());   //刪除數據庫記錄   AccessoryDao.remove(fileId);    //跳回到文件列表頁   //request.getRequestDispatcher("listUploadedFiles").forward(request, response);   response.sendRedirect("listUploadedFiles");  }   @Override  protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {   doPost(request, response);  }   } 

5.測試效果截圖

刪除前:

刪除后:

6.下集預告

實現文件下載功能

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持。

標簽: JSP
相關文章:
成人在线亚洲_国产日韩视频一区二区三区_久久久国产精品_99国内精品久久久久久久
国产一区再线| 亚洲高清av| 精品不卡一区| 久久久久久免费网| 国产成人一区二区精品非洲| 久久久久一区二区| 亚洲精品国产精品乱码不99 | 久草这里只有精品视频| 亚洲一区二区三区免费在线观看| 中文字幕日韩精品一区| 欧美另类高清视频在线| 欧美一区二区视频在线观看2022| 久久精品国产**网站演员| 一本大道久久a久久综合| 午夜精品久久久久久久99樱桃| 99热在线精品观看| 亚洲色图制服诱惑 | 国产午夜精品美女毛片视频| 国产69精品久久777的优势| 欧美精品123区| 国产精品夜夜嗨| 日韩欧美在线一区二区三区| 成人免费高清在线| 6080yy午夜一二三区久久| 国产一区视频导航| 欧美日韩综合一区| 久久机这里只有精品| 欧美三级电影在线看| 精品一区二区在线播放| 欧美精品日韩一本| 国产精品夜夜嗨| 欧美zozo另类异族| 99久久久精品| 久久久久久久久久久久久女国产乱| 97se亚洲国产综合自在线观| 国产亚洲自拍一区| 欧美日本高清| 亚洲天堂2016| 国产一区二区三区黄| 丝袜亚洲精品中文字幕一区| 在线精品亚洲一区二区不卡| 免费精品视频在线| 欧美久久婷婷综合色| 国产成人精品影院| 久久蜜臀中文字幕| 狠狠干综合网| 怡红院av一区二区三区| 老牛影视一区二区三区| 老司机精品视频导航| 91 com成人网| a级高清视频欧美日韩| 国产精品丝袜一区| 国产日韩欧美二区| 丝袜脚交一区二区| 欧美日韩亚洲综合在线 欧美亚洲特黄一级| 国产一区二区三区国产| 欧美成人午夜电影| 国产精品国产亚洲精品看不卡15| 一区二区视频在线看| 一本色道**综合亚洲精品蜜桃冫| 黄色成人免费在线| 欧美成人猛片aaaaaaa| 国产精品v欧美精品v日韩| 亚洲一区二区精品3399| 欧美裸体一区二区三区| 91丨porny丨国产| 亚洲色图在线视频| 亚洲国产精品久久不卡毛片| 欧洲激情一区二区| 成人免费高清视频在线观看| 中文字幕在线不卡视频| 久久青青草原一区二区| 国产精品资源在线看| 国产亚洲欧美色| 国产精品免费在线| 国产一区中文字幕| 中文字幕av免费专区久久| 亚洲免费一区二区| 国产精品自拍在线| 国产精品久久久久久户外露出| 免费日韩一区二区| 国产成人在线影院| 成人免费在线播放视频| 一本色道久久综合狠狠躁的推荐 | 国产福利91精品| 国产精品九色蝌蚪自拍| 久久精品官网| 成人一区二区三区| 亚洲激情一二三区| 欧美一区二区三区在线观看| 一区精品久久| 久久国产三级精品| 中文字幕第一区第二区| 一本大道久久a久久综合婷婷| 国产91精品免费| 亚洲精品中文在线| 欧美一区二区大片| 9色精品在线| 国产麻豆精品95视频| 最好看的中文字幕久久| 欧美日韩精品一区视频| 国自产拍偷拍福利精品免费一| 蜜桃av噜噜一区| 中文字幕免费不卡在线| 欧美综合一区二区三区| 国产精品a级| 国产综合色视频| 亚洲免费观看高清在线观看| 日韩一区二区精品| 99国产精品久久久久久久| 麻豆精品视频在线观看| 国产精品婷婷午夜在线观看| 欧美色老头old∨ideo| 欧美日韩视频一区二区三区| 日韩av午夜在线观看| 国产亚洲成aⅴ人片在线观看| 一本色道**综合亚洲精品蜜桃冫| 欧美黄免费看| 久草在线在线精品观看| 中文字幕一区二区不卡| 欧美电影影音先锋| 午夜亚洲激情| 91麻豆swag| 国产乱国产乱300精品| 亚洲女厕所小便bbb| 精品国产免费一区二区三区四区| 久久在线视频| 好吊日精品视频| 成人精品视频一区二区三区尤物| 日韩国产在线一| ...av二区三区久久精品| 欧美大胆人体bbbb| 色噜噜久久综合| 亚洲国产日本| 91视频你懂的| 国产一区二区91| 日韩综合在线视频| 亚洲欧美乱综合| 国产三级精品三级在线专区| 欧美日韩一级二级| 色婷婷综合久久久| 一区二区三区国产盗摄| 欧美另类高清视频在线| 成人精品视频一区二区三区| 久久91精品国产91久久小草| 午夜精品在线看| 亚洲欧美另类小说| 亚洲国产精品国自产拍av| 日韩精品一区二区三区视频| 欧美日韩一级片网站| 色婷婷av一区二区三区gif| 国产欧美在线| 国产精品v欧美精品v日本精品动漫 | 国产精品久久夜| 欧美xxxxx牲另类人与| 欧美日韩在线观看一区二区| 久久一区中文字幕| 久久高清免费观看| 一区二区日韩免费看| 亚洲午夜高清视频| 欧美福利影院| 97国产精品videossex| 成人精品免费看| 国产成人免费av在线| 精品一区二区在线观看| 另类专区欧美蜜桃臀第一页| 婷婷综合另类小说色区| 一区二区不卡在线播放| 中文字幕一区二区三区蜜月| 亚洲国产激情av| 国产视频911| 久久蜜桃香蕉精品一区二区三区| 精品国产一区二区国模嫣然| 日韩一区二区电影在线| 91.成人天堂一区| 欧美精品乱码久久久久久按摩| 91成人免费在线视频| 美日韩免费视频| 毛片一区二区| 西西裸体人体做爰大胆久久久| 亚洲美女黄网| 亚洲精品激情| 99精品视频免费观看| 国产精品一区视频网站| 午夜在线播放视频欧美| 一本色道久久加勒比精品| 欧美最新大片在线看| 欧美日韩一本到| 欧美丰满一区二区免费视频| 欧美一区中文字幕| 日韩三级.com| 精品91自产拍在线观看一区| 2024国产精品| 亚洲国产高清在线观看视频| 国产精品你懂的| 亚洲区小说区图片区qvod| 亚洲综合色网站| 五月婷婷综合网| 久久精品国产精品亚洲精品| 国产综合成人久久大片91|