手机版

Jsp Servlet实现文件上传下载删除上传文件(三)

时间:2021-09-01 来源:互联网 编辑:宝哥软件园 浏览:

接着上一篇讲:Jsp Servlet实现文件上传下载(二) - 文件列表展示

本章来实现一下删除已上传文件,同时优化了一下第一章中的代码。

废话少说,上代码得意

1.调整列表页面list.jsp

"%@"页面内容类型=' text/html;字符集=UTF-8”语言=“Java”% @ taglib前缀=' c ' uri=' http://Java。星期日com/JSP/JSTL/core“% html”标题上传文件列表/标题/头体h3文件列表/H3表格类=' acclist _ tab '边框=' 1 '边框颜色=' # 000000 '单元格间距=' 0 '单元格填充=' 2 '样式='边框-折叠:折叠;'tr th文件名/th文件大小(千字节)/第操作/th/tr c : if测试=' $ }非空accessorilist } ' c : for each items=' $ { accessorilist } ' var=' ACC ' tr TD $ { ACC。文件名}/TD TD $ { ACC。filesize }/TD TDA href=' %=请求。getcontextpath()%/removeUploadedFile?id=$ { ACC。id } ' rel='外部无跟随'删除a/TD/tr/c : foreach/c : if/table/body/html 2 .新增文件应用程序工具类

包跑龙套导入Java。io。文件;/** * 文件操作工具类* * @作者徐素成* @ create 2017-12-30 * */public class file utils { public static boolean delete(字符串路径){文件文件=新文件(路径);if(!文件。IsFile()){ system。出去。println('删除失败,文件:"路径"不存在!');返回false}文件。delete();返回真;} } 3.调整附件实体DAO,新增负荷方法

包dao .上传导入实体。上传。entityaccessory导入util .数据库访问导入Java。数学。BigDecimal导入Java。SQL。连接;导入Java。SQL。PreparedStatement导入Java。SQL。resultset导入Java。SQL。SqLexception导入Java。乌提尔。ArrayList导入Java。乌提尔。列表;/** * 附件上传DAO * * @作者徐素成* @ create 2017-12-29 * */public class accessoridao { public static void add(EntityAccessory entity){ Connection conn=dbutil。getconnection();字符串sql='插入到tbl _附件(文件名、文件大小、文件扩展名、文件路径)值(?)';请尝试{ PreparedStatement PS=conn . prepare语句(SQL);ps.setString(1,实体。getfilename());ps.setDouble(2,实体。GetFileSize());ps.setString(3,实体。GetFile _ ext _ name());ps.setString(4,实体。GetFilePath());PS。execute();//conn.commit();DBUtil.close(null,ps,conn);} catch(SQLException e){ e . printstacktrace();} }公共静态listentyaccessory list(){ Connection conn=dbutil。getconnection();字符串sql='从tbl _附件中选择id、file_name、file_size、file_ext_name、file _ path list entityaccessory accessorilist=new ArrayList();请尝试{ PreparedStatement PS=conn . prepare语句(SQL);结果集RS=PS。执行查询();而(RS。next()){ EntityAccessory实体=new EntityAccessory();实体。SetID(RS。GetInt(' id ');实体。setfilename(RS。getStrIng(' file _ name ');entity.setFileSize(新的大十进制。GetDouble(' file _ size ')/1024).setScale(2,BigDecimal .四舍五入).double value());实体。setfile _ ext _ name(RS。getStrIng(' file _ ext _ name ');实体。setfilepath(RS。getString(' file _ path ');accessoryList.add(实体);} DBUtil.close(rs,ps,conn);} catch(SQLException e){ e . printstacktrace();}返回附件列表}公共静态EntityAccessory load(int id){ Connection conn=dbutil。getconnection();PreparedStatement PS=nullResultSet RS=nullEntityAccessory实体=new EntityAccessory();字符串sql='从tbl _附件中选择id、文件名、文件大小、文件扩展名、文件路径,其中id=?请尝试{ PS=conn . PrepareStatement(SQL);ps.setInt(1,id);RS=PS。execute query();而(RS。next()){ entity。setid(RS。GetInt(' id ');实体。setfilename(RS。getStrIng(' file _ name ');实体。setfilesize(RS。getdouble(' file _ size ');实体。setfile _ ext _ name(RS。getStrIng(' file _ ext _ name ');实体。setfilepath(RS。getString(' file _ path ');} } catch(SQLException e){ e . printstacktrace();}最后{ DBUtil.close(rs,ps,conn);}返回实体;}公共静态void remove(int id){ Connection conn=dbutil。getconnection();字符串sql='从tbl _附件中删除,其中id=?请尝试{ PreparedStatement PS=conn . prepare语句(SQL);ps.setInt(1,id);PS。execute();//conn.commit();关系型数据库默认开启了autocommit DBUtil.close(null,ps,conn);} catch(SQLException e){ e . printstacktrace();} } } 4.新增删除文件处理器,removeUploadedFileServlet

package servlet.uploadimport Dao。上传。accessoridao导入实体。上传。entityaccessory导入util .文件应用程序导入javax。servlet。servletexception导入javax。servlet。注释。webservlet导入javax。servlet。http。HttpServlet导入javax。servlet。http。HttpServletrequest导入javax。servlet。http。HttpServletResponse导入Java。io。ioexception/** * 删除已上传文件* * @作者徐素成* @ create 2017-12-30 * */@ WebServlet(//removeUploadedFile)公共类removeUploadedFileServlet扩展了httpersvlet { @ Override protected void doPost(httpersvletrequest请求,HttpServletResponse响应)引发ServletException,IOException {//String file path=request。getparameter(' filePath ');int fileId=整数。(请求)的值。getParameter(' id ');实体访问权限实体=附属刀。加载(FileID);//删除文件文件。删除(实体。getfile path());//删除数据库记录附属DaO。移除(FileID);//跳回到文件列表页//请求。get request dispatcher(' listoploaded file ').转发(请求、响应);回应。发送重定向(' lisuploaded file ');} @覆盖受保护的void doGet(Httpservletrequest请求,HttpServletResponse响应)抛出ServletException,IOException { doPost(请求,响应);} } 5.测试效果截图

删除前:

删除后:

6.下集预告

实现文件下载功能

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。

版权声明:Jsp Servlet实现文件上传下载删除上传文件(三)是由宝哥软件园云端程序自动收集整理而来。如果本文侵犯了你的权益,请联系本站底部QQ或者邮箱删除。