准备工作
(视频教程推荐:java课程)
需要导入的jar包
运行截图
文件上传截图
文件下载截图
上传文件代码servlet
	@webservlet(name = "uploadservlet",value = "/upload")	@multipartconfig(maxfilesize = 1024*1024*5,maxrequestsize = 1024*1024*20) //1 添加multipartconfig注解	public class uploadservlet extends httpservlet {	    protected void dopost(httpservletrequest request, httpservletresponse response) throws servletexception, ioexception {	        //存放文件的目录	        string realpath = request.getservletcontext().getrealpath("/web-inf/upload");	        file dir=new file(realpath);	        if(!dir.exists()){	            dir.mkdirs();	        }	        list<string> allowexts=new arraylist<string>();	        allowexts.add("jpg");	        allowexts.add("png");	        allowexts.add("gif");		        //1乱码	        request.setcharacterencoding("utf-8");	        response.setcontenttype("text/html;charset=utf-8");	        //2使用getparts()获取数据	        collection<part> parts = request.getparts();	        //3遍历	        printwriter out = response.getwriter();	        if(parts!=null&&parts.size()>0){	            for (part part : parts) {	                //判断表单元素是普通字段,还是文件	                string submittedfilename = part.getsubmittedfilename();	                if(submittedfilename==null){//普通字段	                    string name = part.getname();	                    string value = request.getparameter(name);	                    system.out.println(name "..." value);	                }else{//文件		                    //判断文件是否为""	                    if(submittedfilename.equals("")){	                        continue;	                    }	                    //system.out.println(submittedfilename);	                    //从请求头中获取文件	                    string dis = part.getheader("content-disposition");	                    string filename=dis.substring(dis.lastindexof("filename=") 10, dis.length()-1);	                    filename=filename.substring(filename.lastindexof("\\\\\\\\") 1);	                    system.out.println(filename);	                    //获取文件名的后缀	                    string ext=filename.substring(filename.lastindexof(".") 1);	                    if(!allowexts.contains(ext)){	                        out.println(filename "不符合上传文件类型要求...");	                        continue;	                    }	                    //把文件保存	                    //1创建新的文件名	                    string newfilename = uploadutils.makenewfilename(filename);	                    //2创建新的路径	                    string newpath = uploadutils.makenewpath(realpath, filename);	                    part.write(newpath file.separator newfilename);	                    //删除part	                    part.delete();	                    out.println("上传成功:" filename);	                }	            }	        }	    }		    protected void doget(httpservletrequest request, httpservletresponse response) throws servletexception, ioexception {	        dopost(request,response);	    }	}每个属性表示的内容
文件下载代码servlet
@webservlet(name = "downloadservlet",value = "/download")public class downloadservlet extends httpservlet {    protected void dopost(httpservletrequest request, httpservletresponse response) throws servletexception, ioexception {        //乱码        request.setcharacterencoding("utf-8");        //获取文件名        string uuidfilename = request.getparameter("filename");//d578be74fd864ac2a879d77b07f13793_backg.jpg        //去掉uuid        string filename=uuidfilename.substring(uuidfilename.indexof("_") 1);        //存放文件的根路径        string realpath = request.getservletcontext().getrealpath("/web-inf/upload");        //获取真正目录        string path = uploadutils.makenewpath(realpath, filename);        file file=new file(path  file.separator uuidfilename);        if(file.exists()){       
云主机的服务器租用电脑站准备使用贵司的虚拟主机手机站目前使用贵司的问题我解析电图片链接找不到-虚拟主机/数据库问题阿里云服务器可以租吗19阿里云爆款云服务器领券域名一般可以使用多久?一般域名注册多久比较好?备案网站所需材料-备案平台买腾讯云中国香港服务器吗