JavaWeb中上传和下载文件实例代码

  

<强>一丶先引入上传下载的自由

  

 JavaWeb中上传和下载文件实例代码

  

<强>二丶上传的的servlet

        包com.test.action;   进口java.io.File;   进口java.io.FileOutputStream;   进口java.io.IOException;   进口java.io.InputStream;   进口java.io.OutputStream;   进口并不知道;   进口javax.servlet.ServletException;   进口javax.servlet.annotation.WebServlet;   进口javax.servlet.http.HttpServlet;   进口javax.servlet.http.HttpServletRequest;   进口javax.servlet.http.HttpServletResponse;   进口org.apache.commons.fileupload.FileItem;   进口org.apache.commons.fileupload.FileUploadException;   进口org.apache.commons.fileupload.disk.DiskFileItemFactory;   进口org.apache.commons.fileupload.servlet.ServletFileUpload;   @WebServlet("/上传”)   公开课FileUpLoadAction扩展HttpServlet {   私有静态最终长serialVersionUID l=1;   保护无效doPost (HttpServletRequest请求,   HttpServletResponse响应)抛出ServletException IOException {//设置编码   request.setCharacterEncoding(“utf - 8”);//对提交的数据进行处理,保存上传文件   布尔成功=processUpload(请求);   如果(成功){//获取表单文本控件的值   字符串帐户=request.getAttribute(“帐户”).toString ();   System.out.println(账户);//获取文件上传的原始名称   字符串文件名=request.getAttribute (upfile) .toString ();   System.out.println(文件名);//获取文件上传后,服务器上保存的名字   字符串fileNameServer=request.getAttribute (upfileServer) .toString ();   System.out.println (fileNameServer);   请求。setAttribute (“upfile fileNameServer);   请求。setAttribute(“信息”、“上传成功”);   }   request.getRequestDispatcher (“/upload.jsp”)。提出(请求、响应);   }   私人布尔processUpload (HttpServletRequest请求){   布尔成功=true;   字符串消息=零;//获取文件需要上传到的路径   字符串路径=request.getServletContext () .getRealPath("/上传");   System.out.println(路径);//如果此文件夹不存在,则构造此文件夹   文件f=新文件(路径);   如果(! f.exists ()) {   f.mkdir ();   }//构造出文件工厂,用于存放JSP页面中传递过来的文件   DiskFileItemFactory工厂=new DiskFileItemFactory ();//设置上传文件的保存路径   factory.setRepository (f);//设置缓存大小,如果文件大于缓存大小时,则先把文件放到缓存中   工厂。setSizeThreshold (1 * 1024 * 1024);   ServletFileUpload上传=new ServletFileUpload(工厂);//设置可以上传文件大小的上界20 mb   上传。setSizeMax (20 * 1024 * 1024);   尝试{//可以上传多个文件   List列表=(ListJavaWeb中上传和下载文件实例代码