spring mvc单文件上传(附带实例)-亚博电竞手机版

本节通过一个应用案例 springmvcdemo11 讲解 spring mvc 框架如何实现单文件上传,具体步骤如下:

1)创建应用并导入 jar 包

创建应用 springmvcdemo11,将 spring mvc 相关的 jar 包、commons-fileupload 组件相关的 jar 包以及 jstl 相关的 jar 包导入应用的 lib 目录中,如图 1 所示。 图 1springmvcdemo11

2)创建 web.xml 文件

在 web-inf 目录下创建 web.xml 文件。为防止中文乱码,需要在 web.xml 文件中添加字符编码过滤器,这里不再赘述。

3)创建文件选择页面

在 webcontent 目录下创建 jsp 页面 onefile.jsp,在该页面中使用表单上传单个文件,具体代码如下:
 <%@ page language="java" contenttype="text/html; charset=utf-8"     pageencoding="utf-8"%>     insert title here       
选择文件:
文件描述:

4)创建 pojo 类

在 src 目录下创建 pojo 包,在该包中创建 pojo 类 filedomain。然后在该 pojo 类中声明一个 multipartfile 类型的属性封装被上传的文件信息,属性名与文件选择页面 onefile.jsp 中的 file 类型的表单参数名 myfile 相同。具体代码如下:
 package pojo; import org.springframework.web.multipart.multipartfile; public class filedomain {     private string description;     private multipartfile myfile;      public string getdescription() {         return description;     }      public void setdescription(string description) {         this.description = description;     }      public multipartfile getmyfile() {         return myfile;     }      public void setmyfile(multipartfile myfile) {         this.myfile = myfile;     } }

5)创建控制器类

在 src 目录下创建 controller 包,并在该包中创建 fileuploadcontroller 控制器类。具体代码如下:
 package controller;  import java.io.file;  import javax.servlet.http.httpservletrequest;  import org.apache.commons.logging.log; import org.apache.commons.logging.logfactory; import org.springframework.stereotype.controller; import org.springframework.web.bind.annotation.modelattribute; import org.springframework.web.bind.annotation.requestmapping;  import pojo.filedomain;  @controller public class fileuploadcontroller {     // 得到一个用来记录日志的对象,这样在打印信息时能够标记打印的是哪个类的信息     private static final log logger = logfactory.getlog(fileuploadcontroller.class);     /**      * 单文件上传      */     @requestmapping("/onefile")     public string onefileupload(@modelattribute filedomain filedomain,             httpservletrequest request) {         /*          * 文件上传到服务器的位置“/uploadfiles”,该位置是指          * workspace\.metadata\.plugins\org.eclipse          * .wst.server.core\tmp0\wtpwebapps, 发布后使用          */         string realpath = request.getservletcontext()                 .getrealpath("uploadfiles");         string filename = filedomain.getmyfile().getoriginalfilename();         file targetfile = new file(realpath, filename);         if (!targetfile.exists()) {             targetfile.mkdirs();         }         // 上传         try {             filedomain.getmyfile().transferto(targetfile);             logger.info("成功");         } catch (exception e) {             e.printstacktrace();         }         return "showone";     } }

6)创建 spring mvc 的配置文件

在上传文件时需要在配置文件中使用 spring 的 commonsmultipartresolver 类配置 multipartresolver 用于文件上传,应用的配置文件 springmvc-servlet.xml 的代码如下:
                                                                                     

7)创建成功显示页面

在 web-inf 目录下创建 jsp 文件夹,并在该文件夹中创建单文件上传成功显示页面 showone.jsp。具体代码如下:
 <%@ page language="java" contenttype="text/html; charset=utf-8"     pageencoding="utf-8"%>     insert title here       ${filedomain.description }     
${filedomain.myfile.originalfilename }

8)测试文件上传

发布 springmvcdemo11 应用到 tomcat 服务器并启动 tomcat 服务器,然后通过地址“http://localhost:8080/springmvcdemo11/onefile.jsp”运行文件选择页面,运行结果如图 2 所示。 图 2单文件选择页面 在图 2 中选择文件并输入文件描述,然后单击“提交”按钮上传文件,若成功则显示如图 3 所示的结果。 图 3单文件成功上传结果
展开全文
内容来源于互联网和用户投稿,文章中一旦含有亚博电竞手机版的联系方式务必识别真假,本站仅做信息展示不承担任何相关责任,如有侵权或涉及法律问题请联系亚博电竞手机版删除

最新文章

网站地图