• 企业400电话
  • 网络优化推广
  • AI电话机器人
  • 呼叫中心
  • 全 部 栏 目

    网站建设 商标✡知产 微网小程序 电商运营 彩铃•短信 增值拓展业务
    JSP servlet实现文件上传下载和删除
    POST TIME:2021-10-18 07:27

    本文实例为大家分享了Android九宫格图片展示的具体代码,供大家参考,具体内容如下

    由于存储空间,对一般用户而言,就是用来操作存储文件的,所以这两天,特意看了一下windows下用servlet实现文件上传、下载和删除,下面是详细代码说明

    上传:

    用的是commons-fileupload-1.2.2.jar和commons-io-2.0.1.jar组件,可以去apache官网上去下载,然后放到WebRoot/WEB-INF/lib目录下 

    upload.html

     html> 
    head> 
      meta http-equiv="Content-Type" content="text/html; charset=GBK"> 
      title>File upload/title> 
    /head> 
    body> 
    !-- action="fileupload"对应web.xml中servlet-mapping>中url-pattern>的设置.--> 
    !-- 必须是multipart的表单数据,才能完整的传递文件数据 --> 
      form name="myform" action="fileupload" method="post" 
        enctype="multipart/form-data"> 
        File:br> 
        input type="file" name="myfile">br> 
        br> 
        input type="submit" name="submit" value="Commit"> 
      /form> 
    /body> 
    /html> 
    

    web.xml里加上下面几行:

    servlet> 
     servlet-name>Upload/servlet-name> 
     servlet-class>am.demo.Upload/servlet-class> 
     /servlet> 
     servlet-mapping> 
     servlet-name>Upload/servlet-name> 
     url-pattern>/fileupload/url-pattern> 
     /servlet-mapping> 
    

    src目录下新建文件Upload.java:

    package am.demo; 
     
    import java.io.File; 
    import java.io.IOException; 
    import java.util.Iterator; 
    import java.util.List; 
     
    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.disk.DiskFileItemFactory; 
    import org.apache.commons.fileupload.servlet.ServletFileUpload; 
     
    @SuppressWarnings("serial") 
    public class Upload extends HttpServlet { 
      private String uploadPath = "d://temp"; // 上传文件的目录 
     
      @SuppressWarnings("unchecked") 
      public void doPost(HttpServletRequest request, HttpServletResponse response) 
          throws IOException, ServletException { 
        try { 
          // Create a factory for disk-based file items 
          DiskFileItemFactory factory = new DiskFileItemFactory(); 
     
     
          // Create a new file upload handler 
          ServletFileUpload upload = new ServletFileUpload(factory); 
     
     
          ListFileItem> items = upload.parseRequest(request);// 得到所有的文件 
          IteratorFileItem> i = items.iterator(); 
          while (i.hasNext()) { 
            FileItem fi = (FileItem) i.next(); 
            String fileName = fi.getName(); 
            if (fileName != null) { 
              File fullFile = new File(fi.getName()); 
              File savedFile = new File(uploadPath, fullFile.getName()); 
              fi.write(savedFile); 
            } 
          } 
           
          response.setContentType("text/html;charset=GBK");  
          response.getWriter().print( 
          "mce:script language='javascript'>!-- 
    alert('上传成功');window.location.href='index.jsp'; 
    // -->/mce:script>"); 
        } catch (Exception e) { 
          // 可以跳转出错页面 
          e.printStackTrace(); 
        } 
      } 
     
      public void init() throws ServletException { 
        File uploadFile = new File(uploadPath); 
        if (!uploadFile.exists()) { 
          uploadFile.mkdirs(); 
        } 
      } 
    } 
    

    再看下载Downlaod.java:

    package am.demo; 
     
    import java.io.File; 
    import java.io.FileInputStream; 
    import java.io.IOException; 
    import java.io.OutputStream; 
     
    import javax.servlet.ServletException; 
    import javax.servlet.http.HttpServlet; 
    import javax.servlet.http.HttpServletRequest; 
    import javax.servlet.http.HttpServletResponse; 
     
    @SuppressWarnings("serial") 
    public class Download extends HttpServlet { 
      public void doGet(HttpServletRequest request, HttpServletResponse response) 
          throws IOException, ServletException { 
     
     
        String aFileName = new String(request.getParameter("name").getBytes( 
            "iso8859-1"), "gbk"); 
     
        File fileLoad = new File("d:/temp", aFileName); 
     
        FileInputStream in = null; // 输入流 
        OutputStream out = response.getOutputStream(); 
        byte b[] = new byte[1024]; 
     
        try { 
     
           response.setContentType("application/x-msdownload;"); 
     
          response.setHeader("Content-disposition", "attachment; filename=" 
              + new String(aFileName.getBytes("GBK"), "ISO-8859-1")); 
     
          // download the file. 
          in = new FileInputStream(fileLoad); 
          int n = 0; 
          while ((n = in.read(b)) != -1) { 
            out.write(b, 0, n); 
          } 
     
        } catch (Throwable e) { 
          e.printStackTrace(); 
        } finally { 
          try { 
            in.close(); 
            out.close(); 
          } catch (Throwable e) { 
            e.printStackTrace(); 
          } 
        } 
      } 
     
      public void doPost(HttpServletRequest request, HttpServletResponse response) 
          throws IOException, ServletException { 
        doGet(request, response); 
      } 
     
    } 
    

    删除Delete.java:

    package am.demo; 
     
    import java.io.File; 
    import java.io.FileNotFoundException; 
    import java.io.IOException; 
     
    import javax.servlet.ServletException; 
    import javax.servlet.http.HttpServlet; 
    import javax.servlet.http.HttpServletRequest; 
    import javax.servlet.http.HttpServletResponse; 
     
    @SuppressWarnings("serial") 
    public class Delete extends HttpServlet { 
     
      public void doGet(HttpServletRequest request, HttpServletResponse response) 
          throws FileNotFoundException, IOException { 
     
        String aFileName = new String(request.getParameter("name").getBytes( 
            "iso8859-1"), "gbk"); 
     
        File file = new File("d:/temp", aFileName); 
     
        response.setContentType("text/html;charset=GBK"); 
     
        if (!file.isDirectory()) { 
          file.delete(); 
          response.getWriter().print( 
            "mce:script language='javascript'>!-- 
    alert('删除成功');window.location.href='index.jsp'; 
    // -->/mce:script>"); 
        } else { 
     
        } 
     
      } 
     
      public void doPost(HttpServletRequest request, HttpServletResponse response) 
          throws IOException, ServletException { 
        doGet(request, response); 
      } 
    } 
    

     因为ubuntu server是黑屏,本人用的是ubuntu server10.04,不方便用浏览器来查看文件,因为没有图形界面,也不方便调试,所以可以先在windows上测试通过,然后把相应文件拷到ubuntu server中的tomcat相应目录下,可以通过samba来传文件,但遇到一个问题,就是中文乱码的问题,因为在开始安装时,选的是英文,后面用网上的一些办法,还是没有解决中文乱码的问题,有知道的大侠,还烦请转告。

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

    您可能感兴趣的文章:
    • javascript使用Blob对象实现的下载文件操作示例
    • 原生js实现文件上传、下载、封装等实例方法
    • JavaScript实现文件下载并重命名代码实例
    • php+js实现的无刷新下载文件功能示例
    • js使用文件流下载csv文件的实现方法
    • 通过JavaScript下载文件到本地的方法(单文件)
    • Jsp+Servlet实现文件上传下载 删除上传文件(三)
    • Jsp+Servlet实现文件上传下载 文件列表展示(二)
    • Jsp+Servlet实现文件上传下载 文件上传(一)
    • JavaScript实现多文件下载方法解析
    上一篇:jsp+servlet实现文件上传与下载功能
    下一篇:jsp中sitemesh修改tagRule技术分享
  • 相关文章
  • 

    关于我们 | 付款方式 | 荣誉资质 | 业务提交 | 代理合作


    © 2016-2020 巨人网络通讯

    时间:9:00-21:00 (节假日不休)

    地址:江苏信息产业基地11号楼四层

    《增值电信业务经营许可证》 苏B2-20120278

    X

    截屏,微信识别二维码

    微信号:veteran88

    (点击微信号复制,添加好友)

     打开微信