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

    spring mvc(注解)上传文件的简单例子,这有几个需要注意的地方
    1.form的enctype=”multipart/form-data” 这个是上传文件必须的
    2.applicationContext.xml中 <bean id=”multipartResolver” class=”org.springframework.web.multipart.commons.CommonsMultipartResolver”/> 关于文件上传的配置不能少

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

    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
  • 相关阅读:
    苹果一体机发射Wi-Fi
    iphone 屏蔽系统自动更新,消除设置上的小红点
    data parameter is nil 异常处理
    copy与mutableCopy的区别总结
    java axis2 webservice
    mysql 远程 ip访问
    mysql 存储过程小问题
    mysql游标错误
    is not writable or has an invalid setter method错误的解决
    Struts2中关于"There is no Action mapped for namespace / and action name"的总结
  • 原文地址:https://www.cnblogs.com/sand-tiny/p/3892350.html
Copyright © 2011-2022 走看看