采用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上传文件的四种方法,汉jar包,含计时
springmvc上传文件controller,vue
springMVC 上传文件方式springMVC 上传文件方式springMVC 上传文件方式
springmvc上传文件所需jar包springmvc上传文件所需jar包 springmvc上传文件所需jar包
springmvc上传文件到ftp demo,将mmall.properties里面的ftp内容修改为自己的启动就行,建议使用idea
导入eclipse中,运行项目即可,上传文件限制不能超过2G,如果要修改则自己在springmvc.xml文件中修改配置
springMVC上传文件的三种解析方式源码。可以添加到tomcat直接运行,运行访问地址为:http://localhost:8080/SpringMVCUploadFileDemo/upload/toUploadFileView1
在使用springMVC进行系统实现时,springMVC默认的解析器里面是没有加入对文件上传的解析的,这可以方便我们实现自己的文件上传。但如果你想使用springMVC对文件上传的解析器来处理文件上传的时候就需要在spring的...
SpringMVC上传文件ie提示下载json文件解决方案
基于springmvc框架的上传文件程序,可运行,java开发语言
android+springmvc上传文件所需jar包包括安卓所需和服务器所需
springMVC上传文件所需要的jar包
由于需要我们需要在项目里自己写文件的上传和下载。这里分别有基于SpringMVC的上传和基于SSH的上传下载,欢迎下载。
前面弄得我认得文档,现在发现csdn上面不能上传同样的格式,就直接把word文档上传,内容包含上传文件的各个部分,有详细注释,适合刚学springMVC的去观看
struts,springMVC 上传文件需要的jar包 commons-fileupload-1.2.1.jar和commons-io-1.3.2.jar
集合SpringMVC上传代码。代码简单易懂,适合初学者。纯上传代码,附上一些相关包。上传文件会根据类型自动建文件存放且生成随机名,存储在SESSION中。
jar包包含: com.springsource.org.apache.commons.fileupload-1.2.0.jar com.springsource.org.apache.commons.io-1.4.0.jar
springmvc带进度条上传源码