采用springmvc来上传文件,时间上挺简单的,但是由于路径没有配置好,以后自己不够坚持,总是出现错误。
在这里记录下步骤,以后就不会再出现这样的错误了
首先建立项目,加入jar包,
这个项目中加入了图上的这些jar,也可根据启动tomcat时报的异常时来添加所需要的jar
2、接着配置web.xml,配置如下:
<servlet>
<servlet-name>dispatcher</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>dispatcher</servlet-name>
<url-pattern>*.do</url-pattern>
</servlet-mapping>
3、由于没有指定spring mvc的处理文件,所以用默认的,在web.xml同级目录下建立dispatcher-servlet.xml
配置入下:
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:p="http://www.springframework.org/schema/p"
xmlns:context="http://www.springframework.org/schema/context"
xmlns:mvc="http://www.springframework.org/schema/mvc"
xsi:schemaLocation=" http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context-3.0.xsd
http://www.springframework.org/schema/mvc
http://www.springframework.org/schema/mvc/spring-mvc-3.0.xsd">
<!--注解驱动器-->
<!-- <mvc:annotation-driven/> -->
<!-- 启动Spring MVC的注解功能,完成请求和注解POJO的映射 -->
<bean class="org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter" />
<!-- 另外最好还要加入DefaultAnnotationHandlerMapping,不然会被 XML或其它的映射覆盖! -->
<bean class="org.springframework.web.servlet.mvc.annotation.DefaultAnnotationHandlerMapping" />
<!--扫描组件,扫描那个目录下的文件-->
<context:component-scan base-package="com.demo.controllers"/>
<!--分段文件解析器-->
<bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver" p:defaultEncoding="UTF-8"/>
<!--视图解析器 jsp-->
<bean id="viewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<property name="viewClass" value="org.springframework.web.servlet.view.JstlView"/>
<property name="prefix" value="/WEB-INF/page/"/>
<property name="suffix" value=".jsp"/>
</bean>
</beans>
4、接着写jsp页面:
<%@ page contentType="text/html;charset=UTF-8" language="java"%>
<html>
<head>
<title>Upload a file please</title>
</head>
<body>
<form method="post" action="upload.do"
enctype="multipart/form-data">
<input type="file"
name="file" /><input type="submit" />
</form>
</body>
</html>
5、接下来写控制层:
@Controller
public class FileUploadController{
private Logger logger = LoggerFactory.getLogger(FileUploadController.class);
@RequestMapping("/oneFileUpload") //跳到相应的jsp页面
public String handleFormUpload(){
return "oneFileUpload";
}
/**
* 单文件上传
* @param file 文件
* @return
* @throws IOException
*/
@RequestMapping(value = "/upload", method = RequestMethod.POST)
public ModelAndView han(@RequestParam("file") CommonsMultipartFile file)throws Exception{
if(file == null){
return new ModelAndView("oneFileUpload");
}
else{
this.copyFile(file.getInputStream(), file.getOriginalFilename());
}
return new ModelAndView("success");
}
/**
* 写文件到本地
* @param in
* @param fileName
* @throws IOException
*/
private void copyFile(InputStream in,String fileName) throws IOException{
FileOutputStream fs = new FileOutputStream("F:/upload/"
+ fileName);
byte[] buffer = new byte[1024 * 1024];
int bytesum = 0;
int byteread = 0;
while ((byteread = in.read(buffer)) != -1) {
bytesum += byteread;
fs.write(buffer, 0, byteread);
fs.flush();
}
fs.close();
in.close();
}
}
发布工程,启动tomcat,输入:http://localhost:8080/工程名/oneFileUpload.do,就会进入到oneFileUpload.jsp页面中,
选择要上传的文件,然后提交,就会成功了
分享到:
相关推荐
springMVC 上传文件方式springMVC 上传文件方式springMVC 上传文件方式
SpringMVC 上传文件详解 SpringMVC 框架中上传文件是非常常见的操作,今天我们来详细讲解 SpringMVC 中的文件上传过程。 文件上传的必要条件 在 SpringMVC 中,文件上传需要满足以下几个条件: 1. 表单的 ...
-- 设置最大上传文件大小 --> ``` 在Controller中,同样可以使用`@RequestParam`接收文件: ```java @PostMapping("/upload") public String handleFileUpload(@RequestParam("file") MultipartFile file...
在标题和描述中提到的"springmvc上传文件所需jar包"是指为了在Spring MVC应用中支持文件上传,开发者需要引入特定的Java Archive (JAR) 文件。以下是关于这两个关键JAR包的详细解释: 1. `...
同时,确保前端和后端的安全性,比如使用CSRF令牌防止跨站请求伪造,以及对上传文件进行适当的权限控制。 最后,项目中的"新建文件夹"可能表示在服务器端需要创建一个目录来存储上传的文件。你可以使用Java的`java....
springMVC上传文件的三种解析方式源码。可以添加到tomcat直接运行,运行访问地址为:http://localhost:8080/SpringMVCUploadFileDemo/upload/toUploadFileView1
在这个特定的项目"springmvc上传文件实时显示进度条"中,我们关注的是如何在文件上传过程中为用户展示进度信息,以提高用户体验。这个项目适用于那些需要处理大文件上传并希望提供反馈的Web应用。 首先,要实现文件...
### SpringMVC上传文件IE提示下载JSON文件解决方案 在开发基于SpringMVC的应用时,可能会遇到这样一个问题:当用户尝试通过Internet Explorer(IE)浏览器上传文件时,浏览器会提示下载一个JSON文件,而不是正常地...
标题“extjs3+springMVC上传文件”指的是使用ExtJS 3版本的JavaScript库与Spring MVC框架结合实现文件上传功能。这篇博文可能是作者在ITEYE博客上分享的一个技术实践,遗憾的是,描述部分为空,没有提供额外的信息。...
上传文件时要考虑安全性,包括防止文件覆盖、恶意文件上传(如脚本注入)、文件权限设置等。应验证文件类型、大小,并对文件名进行清理,避免特殊字符和路径遍历攻击。 9. **最佳实践** 使用流式处理文件,减少...
在使用springMVC进行系统实现时,springMVC默认的解析器里面是没有加入对文件上传的解析的,这可以方便我们实现自己的文件上传。但如果你想使用springMVC对文件上传的解析器来处理文件上传的时候就需要在spring的...
本主题将深入探讨如何使用SpringMVC和SSH(Struts2 + Hibernate + Spring)框架来实现文件的上传与下载。 首先,我们来看SpringMVC中的文件上传。SpringMVC是Spring框架的一部分,它提供了强大的MVC设计模式支持,...
结合这两者,我们可以创建一个功能,允许用户通过Web界面上传文件并将其存储在FTP服务器上。 首先,我们需要在`mmall.properties`配置文件中设置FTP服务器的相关信息,包括主机地址、端口号、用户名、密码以及目标...
在提供的"springmvc带进度条上传源码"中,可能包含了这些功能的实现,包括控制器、服务层、视图层以及前端的HTML、CSS和JavaScript文件。分析这些源码可以帮助你更好地理解文件上传和进度条显示的完整流程。如果你...
在SpringMVC框架中,文件上传是一个常见的功能,它允许用户通过Web应用程序上传文件到服务器。这个场景在很多应用中都是必要的,例如用户上传头像、提交文档等。本示例提供了一个简单易懂的SpringMVC文件上传代码,...
jar包包含: com.springsource.org.apache.commons.fileupload-1.2.0.jar com.springsource.org.apache.commons.io-1.4.0.jar
这个接口封装了上传文件的基本信息,如文件名、大小、内容等。在控制器方法中,我们可以声明一个`MultipartFile`参数来接收上传的文件。 3. **配置SpringMVC以支持文件上传**: 在SpringMVC的配置文件中,我们需要...
SpringMVC上传文件FileUpload使用方法详解 在本文中,我们将详细介绍 SpringMVC 上传文件 FileUpload 的使用方法,旨在帮助开发者快速掌握该技术。下面是相关知识点的总结: 一、SpringMVC 上传文件 FileUpload ...
在Spring MVC框架中,文件上传是一项常见的功能,用于允许用户通过Web应用程序上传文件。要实现这一功能,我们需要依赖一些特定的库和配置。本篇文章将详细介绍如何在Spring MVC中实现文件上传,并涉及到所需的jar包...