下面给大家介绍一下上传文件的简单的代码,首先想上传文件就要导入一个包
放在WEB-INF下的lib文件中 smartupload.jar 它里面包含了上传文件所需要的类,由于架包在csdn博客里存在,本人无法上传,大家可以去其他博客里赵找了。下面我们直接来看代码这个是初始界面
fileupload.jsp页面

 <%@ page language="java" contentType="text/html; charset=UTF-8"
     pageEncoding="UTF-8"%>
 <html>
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
 <title>Insert title here</title>
 </head>
 <body>
 	<form action="save.jsp" method="POST" enctype="multipart/form-data">
 		<!--<input type="file" name="file1"> 在这里要说的是,smart这里面以后一个属于自己的对象,所以会阻碍jsp中的request对象所以要用它自己的对象:如下 用它自己定义的对象smart.getrequest().getparmater()-->
 		<input type="file" name="file1"> <br>
 		<input type="file" name="file2"> <br>
 		<input type="file" name="file3"> <br>
 		<input type="submit" value="上传文件">
 	</form>
 </body>
 </html>```
这个是跳转的界面
**save.jsp**     因为是初学,所以在jsp页面中写java代码,并不是很好看,很工整,但功能还是能实现的。以后可以servlet与jsp结合,将页面这块与功能这块分开来做

```html

 <%@ page import="java.text.SimpleDateFormat" %>
 <html>
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
 <title>Insert title here</title>
 </head>
 <body>
 	<%
 		java.io.File file = new File("/upload");
 		//判断文件夹是否存在
 		if (!file.exists()) {
 			file.mkdir();
 		}
 		SmartUpload smart = new SmartUpload();
 	    smart.initialize(pageContext);
 	    smart.upload();
 	    String dest,fileExt,oldFileName,newFileName;
 	    SimpleDateFormat formater;
 	    Files files=smart.getFiles();
 	    org.lxh.smart.File upfile ;
 	    for(int i=0,len=files.getCount();i<len;i++){
 	    
 	    upfile = smart.getFiles().getFile(i);
 	    
 	    //这个地方是i,是我开始犯错地方
 	    /**下面的这个判断很重要,上面是上传多个文件,如果不上传第一个,直接从二开始,不要这句话的会报错,这个就是判断前面的文件是否为空的情况,如果为空的话,那么continue 存在,所以将会跳出此次循环,for重新开始徐循环,这样就解决了**/
 	    
 	    if("".equals(upfile.getFileName())){
    			continue;
 	    }
 	    //文件名
 	   oldFileName = upfile.getFileName().substring(0, upfile.getFileName().indexOf("."));
 	    //扩展名
 	     fileExt = upfile.getFileExt();
 	    Date now = new Date(); 
 	    formater = new SimpleDateFormat("yyyy-MM-dd-HHmmss");
 	   	newFileName = oldFileName + formater.format(now);
 	    dest =file.getAbsolutePath() + "\\" 
 	    				+ newFileName + "." + fileExt; 
 	  
 	    //System.out.println(dest);//在控制台输出的主要是检验程序的错误在哪
 	    out.println(dest);  //在页面上输出的
 	    
 	    //smart.save(dest);
 	    upfile.saveAs(dest);
 	    }    
 	%>
 </body>
 </html>
这样就可以批量上传文件,也可以空过前面的,直接上传第二个。今天刚刚学,所以在此做了个笔记。