SpringMVC中简单的上传

项目截图

需要导入的基本包有Spring所有的包加上Apache支持上传的包

web.xml

<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee"
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
	http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
	<display-name></display-name>
	<welcome-file-list>
		<welcome-file>index.jsp</welcome-file>
	</welcome-file-list>

	<servlet>
		<servlet-name>spring</servlet-name>
		<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
		<init-param>
			<param-name>contextConfigLocation</param-name>
			<param-value>WEB-INF/classes/spring-servlet.xml</param-value>
		</init-param>

		<load-on-startup>1</load-on-startup>
	</servlet>

	<servlet-mapping>
		<servlet-name>spring</servlet-name>
		<url-pattern>/</url-pattern>
	</servlet-mapping>

	<!-- 配置字符集 -->
	<filter>
		<filter-name>encodingFilter</filter-name>
		<filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>
		<init-param>
			<param-name>encoding</param-name>
			<param-value>UTF-8</param-value>
		</init-param>
		<init-param>
			<param-name>forceEncoding</param-name>
			<param-value>true</param-value>
		</init-param>
	</filter>
	<filter-mapping>
		<filter-name>encodingFilter</filter-name>
		<url-pattern>/*</url-pattern>
	</filter-mapping>
</web-app>

spring-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:tx="http://www.springframework.org/schema/tx"
	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/tx
    http://www.springframework.org/schema/tx/spring-tx-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">

	<!--自动扫描com.iss包下的所有组件 -->
	<context:component-scan base-package="com.iss"></context:component-scan>
	<mvc:annotation-driven />
	<!--配置静态资源 -->
	<mvc:resources location="/js/" mapping="/js/**" />
	<mvc:resources location="/upload/" mapping="/upload/**" />
	<mvc:resources location="/images/" mapping="/images/**" />

	<!-- SpringMVC 上传文件时,需配置multipartResolver处理器 -->
	<bean id="multipartResolver"
		class="org.springframework.web.multipart.commons.CommonsMultipartResolver">
		<!-- 指定所上传文件的总大小不能超过800KB......注意maxUploadSize属性的限制不是针对单个文件,而是所有文件的容量之和 -->
		<property name="maxUploadSize" value="800000" />
	</bean>

	<!-- SpringMVC在超出上传文件限制时,会抛出org.springframework.web.multipart.MaxUploadSizeExceededException -->
	<!-- 该异常是SpringMVC在检查上传的文件信息时抛出来的,而且此时还没有进入到Controller方法中 -->
	<bean id="exceptionResolver"
		class="org.springframework.web.servlet.handler.SimpleMappingExceptionResolver">
		<property name="exceptionMappings">
			<props>
				<!-- 遇到MaxUploadSizeExceededException异常时,自动跳转到/WEB-INF/jsp/error_fileupload.jsp页面 -->
				<prop
					key="org.springframework.web.multipart.MaxUploadSizeExceededException">error_fileupload</prop>
			</props>
		</property>
	</bean>

	<bean
		class="org.springframework.web.servlet.view.InternalResourceViewResolver">
		<property name="viewClass"
			value="org.springframework.web.servlet.view.JstlView"></property>
		<property name="prefix" value="/"></property>
		<property name="suffix" value=".jsp"></property>

	</bean>

</beans>

com.iss.controller..DemoController

package com.iss.controller,DemoController.java

import org.springframework.stereotype.Controller;

import org.springframework.ui.ModelMap;

import org.springframework.web.bind.annotation.RequestMapping;

@Controller

@RequestMapping("/demo")

public class DemoController {

@RequestMapping("/upload")

public String goUpload() {

return "myupload";

}

}

com.iss.controller,UserController.java

package com.iss.controller;

import java.io.File;

import java.io.IOException;

import java.io.PrintWriter;

import javax.servlet.http.HttpServletRequest;

import javax.servlet.http.HttpServletResponse;

import org.apache.commons.io.FileUtils;

import org.springframework.stereotype.Controller;

import org.springframework.web.bind.annotation.RequestMapping;

import org.springframework.web.bind.annotation.RequestMethod;

import org.springframework.web.bind.annotation.RequestParam;

import org.springframework.web.multipart.MultipartFile;

import com.iss.pojo.User;

@Controller

@RequestMapping("/user")

public class UserController {

public UserController() {

// TODO Auto-generated constructor stub

}

@RequestMapping(value = "/add", method = RequestMethod.POST)

public String addUser(User user, MultipartFile myfile,

HttpServletRequest request) throws IOException {

String realPath = request.getSession().getServletContext()

.getRealPath("/upload");

System.out.println(realPath);

FileUtils.copyInputStreamToFile(myfile.getInputStream(), new File(

realPath, myfile.getOriginalFilename()));

return "myupload";

}

}

myupload,jsp

<form action="user/add" method="post" enctype="multipart/form-data">

username: <input type="text" name="username" /><br /> yourfile: <input

type="file" name="myfile" /><br />

<!-- yourfile: <input type="file" name="myfiles" /><br />

yourfile: <input type="file" name="myfiles" /><br />  -->

<input type="submit" value="添加" />

</form>

输入路径http://localhost:8080/SpringMVC_04/demo/upload 选择浏览上传然后到

tomcat/webapps/找到项目中的upload文件夹就可以看见里面上传的内容。

时间: 2024-11-03 01:29:56

SpringMVC中简单的上传的相关文章

SpringMVC学习(九)——SpringMVC中实现文件上传

这一篇博文主要来总结下SpringMVC中实现文件上传的步骤.但这里我只讲单个文件的上传. 环境准备 SpringMVC上传文件的功能需要两个jar包的支持,如下: 工程中肯定要导入以上两个jar包,主要是CommonsMultipartResolver解析器依赖commons-fileupload和commons-io这两个jar包. 单个文件的上传 前台页面 我们要改造editItem.jsp页面,主要是在form表单中添加商品图片一栏,效果我截图如下: 注意一点的是form表单中别忘了写e

【SpringMVC学习08】SpringMVC中实现文件上传

之前有写过一篇struts2实现的文件上传,这一篇博文主要来总结下springmvc实现文件上传的步骤.首先来看一下单个文件的上传,然后再来总结下多个文件上传. 1. 环境准备 springmvc上传文件的功能需要两个jar包的支持(点我下载),如下 2. 单个文件的上传 2.1 前台页面 简单的写一下前台页面,注意一点的是form表单中别忘了写enctype="multipart/form-data"属性: <tr> <td>商品图片</td> &

2017/2/12:springMVC的简单文件上传跟拦截器

1.写文件上传的界面jsp代码如下重点为文件上传标签的类型 2.写登录成功跟失败的界面:成功自己写 3.写springMVC的文件上传的controller的方法 4.最后一步配置spring-servlet.xml一般是开始就配置 5.贴出整个demo的模型 切记:在springMVC中文件上传必须要用CommonsMultipartFile类来解析文件

springmvc中的文件上传

//需要的jar包: com.springsource.org.apache.commons.fileupload-1.2.0.jar com.springsource.org.apache.commons.io-1.4.0.jar import java.io.File; import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.IOException; import java.u

SpringMVC框架简单实现上传Excel文件,并将Excel中的数据导入mySQL数据库

第一步 配置DispathcherServlet文件 第二步 配置applicationContext文件 第三步 在index.jsp中 第四步 在HelloSpringmvc.java中写入方法 第五步:与数据库进行连接 第六步 mySQL实体类 第七步 操作excel表 第八步 Dao文件 第九步 测试

SpringMVC中文件的上传(上传到服务器)和下载问题(二)--------下载

一.建立一个简单的jsp页面. 我们在建好的jsp的页面中加入一个超链接:<a href="${pageContext.request.contextPath}/download">下载</a> 二.在控制层写入以下代码: @RequestMapping("/download") public ResponseEntity<byte[]> String(HttpServletRequest request) throws IOEx

SpringMVC实现文件的上传和下载

前些天一位江苏经贸的学弟跟我留言问了我这样一个问题:"用什么技术来实现一般网页上文件的上传和下载?是框架还是Java中的IO流".我回复他说:"使用SpringMVC框架可以做到这一点,因为SpringMVC为文件的上传提供了直接的支持,但需要依赖Apache提供Commons FileUpload组件jar包."鉴于这个问题,我上网也百度了一下,网上很多都是介绍的使用IO流来实现文件的上传和下载,也有说到框架的,但介绍的并不是很完整,今天小钱将和大家介绍使用Spr

SpringMVC 用MultipartFile文件上传

一.配置文件:SpringMVC 用的是 的MultipartFile来进行文件上传 所以我们首先要配置MultipartResolver:用于处理表单中的file <!-- 配置MultipartResolver 用于文件上传 使用spring的CommosMultipartResolver --> <beans:bean id="multipartResolver" class="org.springframework.web.multipart.com

SpringMVC进行文件的上传以及多文件的上传(转)

基本的SpringMVC的搭建在我的上一篇文章里已经写过了,这篇文章主要说明一下如何使用SpringMVC进行表单上的文件上传以及多个文件同时上传的步骤 SpringMVC 基础教程 框架分析:http://blog.csdn.net/swingpyzf/article/details/8885459 SpringMVC 基础教程 简单入门实例:http://blog.csdn.net/swingpyzf/article/details/8904205   文件上传项目的源码下载地址:http: