zoukankan      html  css  js  c++  java
  • spring mvc(注解)上传文件的简单例子

    spring mvc(注解)上传文件的简单例子

    spring mvc(注解)上传文件的简单例子,

    这有几个需要注意的地方
    1.form的enctype=”multipart/form-data” 这个是上传文件必须的


    2.applicationContext.xml中 <bean id=”multipartResolver”

    class=”org.springframework.web.multipart.commons.CommonsMultipartResolver”/> 关于文件上传的配置不能少

    3、亲这两个jar包不能少哦,之前就是因为少了这个两个jar,一直报一些奇葩的错,给我累了个半死~(版本没什么要求)

    commons-fileupload-1.2.2.jar

    commons-io-2.0.1.jar

    大家可以看具体代码如下:

    web.xml

    1. <?xml version="1.0" encoding="UTF-8"?>  
    2. <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" id="WebApp_ID" version="2.5">  
    3.   <display-name>webtest</display-name>  
    4.   
    5.   <listener>  
    6.         <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>  
    7.     </listener>  
    8.     <context-param>  
    9.         <param-name>contextConfigLocation</param-name>  
    10.         <param-value>  
    11.             /WEB-INF/config/applicationContext.xml  
    12.             /WEB-INF/config/codeifAction.xml  
    13.         </param-value>  
    14.     </context-param>  
    15.   
    16.     <servlet>  
    17.         <servlet-name>dispatcherServlet</servlet-name>  
    18.         <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>  
    19.         <init-param>  
    20.             <param-name>contextConfigLocation</param-name>  
    21.             <param-value>/WEB-INF/config/codeifAction.xml</param-value>  
    22.         </init-param>  
    23.         <load-on-startup>1</load-on-startup>  
    24.     </servlet>  
    25.     <!-- 拦截所有以do结尾的请求 -->  
    26.     <servlet-mapping>  
    27.         <servlet-name>dispatcherServlet</servlet-name>  
    28.         <url-pattern>*.do</url-pattern>  
    29.     </servlet-mapping>  
    30.   
    31.   <welcome-file-list>  
    32.     <welcome-file>index.do</welcome-file>  
    33.   </welcome-file-list>  
    34. </web-app>  


     

    applicationContext.xml

    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" xmlns:p="http://www.springframework.org/schema/p"  
    4.     xmlns:context="http://www.springframework.org/schema/context"  
    5.     xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd  
    6.     http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.0.xsd"  
    7.     default-lazy-init="true">  
    8.   
    9.     <!-- 启动Spring MVC的注解功能,完成请求和注解POJO的映射 -->  
    10.     <bean class="org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter" lazy-init="false" />  
    11.   
    12.     <!-- 另外最好还要加入DefaultAnnotationHandlerMapping,不然会被 XML或其它的映射覆盖! -->  
    13.     <bean class="org.springframework.web.servlet.mvc.annotation.DefaultAnnotationHandlerMapping" />  
    14.   
    15.     <!-- 对模型视图名称的解析,即在模型视图名称添加前后缀 -->  
    16.     <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver" p:prefix="/WEB-INF/jsp/" p:suffix=".jsp" />  
    17.   
    18.     <!-- 支持上传文件 -->  
    19.     <bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver"/>  
    20.   
    21. </beans>  


     

    codeifAction.xml

    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" xmlns:context="http://www.springframework.org/schema/context"  
    4.     xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd  
    5.     http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.0.xsd"  
    6.     default-lazy-init="true">  
    7.   
    8.     <bean id="uploadAction" class="com.codeif.action.UploadAction" />  
    9.   
    10. </beans>  


     

    UploadAction.java

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


     

    index.jsp

    1. <%@ page pageEncoding="utf-8"%>  
    2. <!DOCTYPE html>  
    3. <html>  
    4. <head>  
    5. <meta charset="utf-8">  
    6. <title>上传图片</title>  
    7. </head>  
    8. <body>  
    9. <form action="upload.do" method="post" enctype="multipart/form-data">  
    10. <input type="file" name="file" /> <input type="submit" value="Submit" /></form>  
    11. </body>  
    12. </html>  


     

    WEB-INF/jsp/下的result.jsp

      1. <%@ page pageEncoding="utf-8"%>  
      2. <!DOCTYPE html>  
      3. <html>  
      4. <head>  
      5. <meta charset="utf-8">  
      6. <title>上传结果</title>  
      7. </head>  
      8. <body>  
      9. <img alt="" src="${fileUrl }" />  
      10. </body>  
      11. </html
  • 相关阅读:
    codeforces C. Cows and Sequence 解题报告
    codeforces A. Point on Spiral 解题报告
    codeforces C. New Year Ratings Change 解题报告
    codeforces A. Fox and Box Accumulation 解题报告
    codeforces B. Multitasking 解题报告
    git命令使用
    shell简单使用
    知识束缚
    php 调用系统命令
    数据传输方式(前端与后台 ,后台与后台)
  • 原文地址:https://www.cnblogs.com/junle/p/5822319.html
Copyright © 2011-2022 走看看