• springMVC---文件上传


    直接上干货吧。先看看目录结构,没有用的我都涂了:

    然后是springMVC的配置。

    web.xml

     1 <?xml version="1.0" encoding="UTF-8"?>
     2 <web-app version="2.5" 
     3     xmlns="http://java.sun.com/xml/ns/javaee" 
     4     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
     5     xsi:schemaLocation="http://java.sun.com/xml/ns/javaee 
     6     http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
     7   <display-name></display-name>    
     8   
     9   <servlet>
    10     <servlet-name>springmvc</servlet-name>
    11     <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
    12     <init-param>
    13       <param-name>contextConfigLocation</param-name>
    14       <param-value>classpath:springmvc.xml</param-value>
    15     </init-param>
    16     <load-on-startup>1</load-on-startup>
    17   </servlet>
    18   
    19   <!-- 访问路径配置 -->
    20   <servlet-mapping>
    21     <servlet-name>springmvc</servlet-name>
    22     <url-pattern>*.do</url-pattern>
    23   </servlet-mapping>
    24   
    25   <welcome-file-list>
    26     <welcome-file>index.jsp</welcome-file>
    27   </welcome-file-list>
    28 </web-app>

    springmvc配置

     1 <?xml version="1.0" encoding="UTF-8"?>
     2 <beans xmlns="http://www.springframework.org/schema/beans"
     3     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
     4     xmlns:p="http://www.springframework.org/schema/p"
     5     xmlns:context="http://www.springframework.org/schema/context"
     6     xsi:schemaLocation="
     7         http://www.springframework.org/schema/beans
     8         http://www.springframework.org/schema/beans/spring-beans.xsd
     9         http://www.springframework.org/schema/context
    10         http://www.springframework.org/schema/context/spring-context.xsd">
    11        
    12         <!-- 配置视图渲染器 -->
    13     <bean id="jspViewResolver"
    14         class="org.springframework.web.servlet.view.InternalResourceViewResolver">
    15         <property name="viewClass"
    16             value="org.springframework.web.servlet.view.JstlView" />
    17         <!-- 将视图名 渲染后视图的前缀 -->
    18         <property name="prefix" value="/WEB-INF/jsp/" />
    19         <!-- 渲染后视图的后缀 -->
    20         <property name="suffix" value=".jsp" />
    21     </bean>
    22     
    23     <!-- 根据传进来的URL自动扫描com.SafeCode.controller下的命名空间 -->
    24     <context:component-scan base-package="cn.springmvc.controller"/>
    25     
    26     <!-- 文件上传 -->  
    27     <bean id="multipartResolver"  
    28         class="org.springframework.web.multipart.commons.CommonsMultipartResolver">  
    29         <!-- 设置上传文件的最大尺寸为5MB -->  
    30         <property name="maxUploadSize">  
    31             <value>5242880</value>  
    32         </property>  
    33     </bean> 
    34 </beans>

    完成文件的上传功能,最重要的是在springmvc.xml中配置的这个multipartResolver,需要导入相关jar包,还要在controller中用到MultipartFile声明对象。

    controller:

     1 package cn.springmvc.controller;
     2 
     3 import java.io.File;
     4 
     5 import javax.servlet.http.HttpServletRequest;
     6 
     7 import org.springframework.stereotype.Controller;
     8 import org.springframework.ui.ModelMap;
     9 import org.springframework.web.bind.annotation.RequestMapping;
    10 import org.springframework.web.bind.annotation.RequestMethod;
    11 import org.springframework.web.bind.annotation.RequestParam;
    12 import org.springframework.web.multipart.MultipartFile;
    13 
    14 @Controller
    15 public class imageController {
    16     
    17     @RequestMapping(value="/addImage", method=RequestMethod.POST)
    18     public String addImage(@RequestParam(value = "file", required = false) MultipartFile file, HttpServletRequest 
    19             request, ModelMap model){
    20         System.out.println("开始");  
    21         String path = request.getSession().getServletContext().getRealPath("upload");  
    22         String fileName = file.getOriginalFilename();    
    23         System.out.println(path + "\" + fileName);  
    24         File targetFile = new File(path, fileName);  
    25         if(!targetFile.exists()){  
    26             targetFile.mkdirs();  
    27         }  
    28   
    29         //保存  
    30         try {  
    31             file.transferTo(targetFile);  
    32         } catch (Exception e) {  
    33             e.printStackTrace();  
    34         }  
    35         model.addAttribute("fileUrl", request.getContextPath()+"/upload/"+fileName);  
    36             
    37         return "result";
    38     }
    39 
    40 }

    这样就能完成springmvc文件上传功能了。

  • 相关阅读:
    【android tools】内存、网络、界面性能响应优化的工具
    mysql命令(数据库备份与恢复)
    mysql中一些简单但是新手容易犯的错误
    Mysql bench执行sql语句批量操作数据所遇到的问题
    Excel “此单元格中的数字为文本格式,或者其前面有撇号” 设成数字格式
    VC程序异常中断的原因
    vs dump调试
    winsock.h与winsock2.h出现重定义或不同的链接
    QT中QString与string的转化,解决中文乱码问题
    线程中CreateEvent和SetEvent及WaitForSingleObject的用法
  • 原文地址:https://www.cnblogs.com/K-artorias/p/7402747.html
Copyright © 2020-2023  润新知