springMVC上传文件

2014-11-24 02:08:38 · 作者: · 浏览: 0

在看springMVC之前,就听说现在很多公司用SSH的并不多,但是springMVC的不少,感觉springMVC应该是一个比较好用的框架,但是具体怎么用多好用还是没有概念,通过这次简单的学习,发现的确有他的很多优势,下面以springMVC上次为例,写一个简单的springMVC实例,稍微感受一下springMVC 的好处。

首先配置web.xml文件:

  
 	
   
    springMVC
   
 	
   
    org.springframework.web.servlet.DispatcherServlet
   
	
    
    
     contextConfigLocation
     
    
     classpath*:/config/springAnnotation-servlet.xml
     
   
	
   
    1
   
 
  
  
    
    
    
   
    characterEncodingFilter
     
    
   
    org.springframework.web.filter.CharacterEncodingFilter
     
    
    
    
     encoding
     
    
     UTF-8
     
     
    
    
    
     forceEncoding
     
    
     true
     
     

    

    
    
   
    characterEncodingFilter
     
    
   
    /*
     

    
 
  
 	
   
    springMVC
   
 	
   
    /
   
 
   

springMVC的配置相对比较简单,和之前的配置spring区别不大。

下面配置springMVC文件:

	
  
	
  
	
	
  
	
  
	
  
		
  
	
  
		
  
	

	
  
		
   
		
   
    jsp">
   
	
   
 
 
    
   
 
  
        
   
    
    
    
     800000
     
   
    
    
    
     4096
     
   
   
  
 


因为web里设置springMVC拦截的是所有的网址,所以,这里需要对图片和js等静态文件进行配置,不然无法识别。

同时,配置需要上传文件的最大值和最小值,当然,在程序里也可以用代码配置,但是,不提倡。

这里配置注解,个人认为springMVC的注解很好用,简单易用。

配置好之后,我们开始写代码:

@RequestMapping("/upload1")
	public String upload2(HttpServletRequest request,HttpServletResponse response) throws IllegalStateException, IOException{
		//创建一个通用的多部分解析器.   
		CommonsMultipartResolver multipartResolver = new CommonsMultipartResolver(request.getSession().getServletContext());
		 //判断 request 是否有文件上传,即多部分请求...  
		if(multipartResolver.isMultipart(request))
		{
			 //判断 request 是否有文件上传,即多部分请求...  
			MultipartHttpServletRequest multiRequest = (MultipartHttpServletRequest)(request);
			
			Iterator
  
    iter = multiRequest.getFileNames();
			while(iter.hasNext()){
				MultipartFile file = multiRequest.getFile(iter.next());
				String fileName = "demoUpload" +file.getOriginalFilename();
				String path ="F:/" +fileName;
				File localFile = new File(path);
				file.transferTo(localFile);
				
			}
		}		
		
		return "/success";
	}
  

最后是前台界面:

 
 

	
  
   上传文件
  
	
  
选择文件:

至此,一个简单上传文件就完成了,