- 浏览: 130808 次
- 性别:
- 来自: 南京
文章分类
- 全部博客 (80)
- 常见问题 (14)
- spring (10)
- HttpClient (2)
- 数据库 (4)
- Excel操作 (4)
- FtpClient (3)
- SpringMvc (2)
- Hessian (0)
- JasperReport (0)
- 其他 (5)
- js (4)
- css (4)
- jquery (0)
- Java (4)
- 反射 (1)
- CSV操作 (2)
- freemarker (3)
- hibernate (1)
- mongoDB (1)
- DB2 (2)
- 业务 (1)
- MAVEN (1)
- 权限控制 (1)
- 技术文档 (2)
- 生活琐事 (3)
- 性能问题 (1)
- UML (1)
- 工作总结 (1)
- 安卓 (1)
最新评论
-
菜鸟900101:
真心谢谢,解决了我头疼好几天的问题,谢谢谢谢
使用Ftpclient从FTP上进行下载时文件少一个字节,打不开 -
一生荣耀白:
[u][/u]
Freemarker分页的宏 -
liyang678:
这样不就得要求 被请求一方必须按您的这种XML格式解析吗。
使用HttpClient、注解、动态代理、Spring的Bean后处理器实现Http消息发送 -
liyang678:
可以演示一下如何调用吗。不是很明白呢。
使用HttpClient、注解、动态代理、Spring的Bean后处理器实现Http消息发送 -
hzxlb910:
...
使用TransactionTemplate来完成Spring的编程式事务管理
文件上传可以使用普通的表单提交,也可以使用AJAX异步提交,如果需要使用AJAX提交则需要引入juery.form.js。
1、普通的表单提交文件上传
2、使用AJAX异步提交
1、普通的表单提交文件上传
web.xml: <?xml version="1.0" encoding="UTF-8"?> <web-app xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="2.4" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"> <!-- spring 监听--> <listener> <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class> </listener> <!-- spring 字符集过滤 --> <filter> <filter-name>CharacterEncoding</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>CharacterEncoding</filter-name> <url-pattern>*.action</url-pattern> </filter-mapping> <filter-mapping> <filter-name>CharacterEncoding</filter-name> <url-pattern>*.htm</url-pattern> </filter-mapping> <!-- spring mvc --> <servlet> <servlet-name>http</servlet-name> <servlet-class>org.springframework.web.servlet.DispatcherServlet </servlet-class> <init-param> <param-name>contextConfigLocation</param-name> <param-value>classpath:dispatcher-servlet.xml</param-value> </init-param> <load-on-startup>1</load-on-startup> </servlet> <servlet-mapping> <servlet-name>http</servlet-name> <url-pattern>*.action</url-pattern> </servlet-mapping> </web-app> 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:tx="http://www.springframework.org/schema/tx" xmlns:aop="http://www.springframework.org/schema/aop" xmlns:context="http://www.springframework.org/schema/context" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-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"> <!-- Spring @AutoWired 依赖自动注入,不需要setter方法 --> <bean class="org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor" /> <!-- Spring 扫描使用注解的包路径 --> <context:component-scan base-package="com.it.springweb.controller" /> <!-- Freemarker模板配置 --> <bean id="freemarkerConfig" class="org.springframework.web.servlet.view.freemarker.FreeMarkerConfigurer"> <property name="templateLoaderPath" value="/WEB-INF/freemarker/" /> <property name="defaultEncoding" value="UTF-8" /> </bean> <!--Freemarker视图解析器 --> <bean class="org.springframework.web.servlet.view.freemarker.FreeMarkerViewResolver"> <property name="cache" value="true" /> <property name="prefix" value="" /> <property name="suffix" value=".ftl" /> <property name="exposeSpringMacroHelpers" value="true" /> <property name="exposeRequestAttributes" value="true" /> <property name="exposeSessionAttributes" value="true" /> <property name="requestContextAttribute" value="request" /> <property name="contentType" value="text/html; charset=utf-8" /> </bean> <!-- Spring JSON 格式转换依赖的Jar --> <bean id="mappingJacksonHttpMessageConverter" class="org.springframework.http.converter.json.MappingJacksonHttpMessageConverter" /> <!-- 支持上传文件 --> <bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver"> <!-- 10M --> <property name="maxUploadSize"> <value>52428800</value> </property> <property name="maxInMemorySize"> <value>10240</value> </property> <property name="defaultEncoding"> <value>UTF-8</value> </property> </bean> </beans>
//普通的文件上传 @Controller public class MyController { @Autowired public UserService userService; @RequestMapping("/showView") public String showView(HttpServletRequest request) { userService.deleteUser("1"); request.setAttribute("name", "张三"); return "showView"; } /** * * 文件上传 <br> * 〈功能详细描述〉 * * @param request * @return * @see [相关类/方法](可选) * @since [产品/模块版本](可选) */ @RequestMapping("/importFileDatas") public String importFileDatas(HttpServletRequest request) { MultipartHttpServletRequest multipartRequest = (MultipartHttpServletRequest) request; MultipartFile multipartFile = multipartRequest.getFile("uploadFile"); List<Map<String, Object>> userList = new ArrayList<Map<String, Object>>(); BufferedReader br = null; try { InputStream is = multipartFile.getInputStream(); br = new BufferedReader(new InputStreamReader(is, "UTF-8")); String line = null; while ((line = br.readLine()) != null) { String[] datas = line.split(","); Map<String, Object> userMap = new HashMap<String, Object>(); userMap.put("userName", datas[0]); userMap.put("password", datas[1]); userMap.put("address", datas[2]); userMap.put("phone", datas[3]); userList.add(userMap); } } catch (Exception e) { // } finally { if (br != null) { IOUtils.closeQuietly(br); } } // 保存用户数据到用户表 saveBatchUserList(userList); return "showView"; } private void saveBatchUserList(List<Map<String, Object>> userList) { } }
showView.ftl: <!doctype html> <html> <head> <meta charset="utf-8"/> <title></title> <#assign ctxPath=request.contextPath> <#setting number_format="#"> <script type="text/javascript" src="${ctxPath}/staticfile/js/jquery-1.7.1.js"></script> <script> function upload(){ $("#uploadForm").submit(); } </script> </head> <body> 姓名: ${name!''} <form name="uploadForm" id="uploadForm" action="${ctxPath}/importFileDatas.action" method="post" enctype="multipart/form-data"> <input type="file" name="uploadFile"> <input type="button" onclick="upload()" value="上传"> </form> </body> </html>
2、使用AJAX异步提交
//通过AJAX异步请求实现文件上传 @Controller public class MyController { /** * * 文件上传 <br> * 〈功能详细描述〉 * * @param request * @return * @see [相关类/方法](可选) * @since [产品/模块版本](可选) */ @RequestMapping("/importFileDatas") public void importFileDatas(HttpServletRequest request, HttpServletResponse response) { MultipartHttpServletRequest multipartRequest = (MultipartHttpServletRequest) request; MultipartFile multipartFile = multipartRequest.getFile("uploadFile"); List<Map<String, Object>> userList = new ArrayList<Map<String, Object>>(); BufferedReader br = null; try { InputStream is = multipartFile.getInputStream(); br = new BufferedReader(new InputStreamReader(is, "UTF-8")); String line = null; while ((line = br.readLine()) != null) { String[] datas = line.split(","); Map<String, Object> userMap = new HashMap<String, Object>(); userMap.put("userName", datas[0]); userMap.put("password", datas[1]); userMap.put("address", datas[2]); userMap.put("phone", datas[3]); userList.add(userMap); } } catch (Exception e) { // } finally { if (br != null) { IOUtils.closeQuietly(br); } } // 保存用户数据到用户表 boolean flag = saveBatchUserList(userList); Map<String, Object> result = new HashMap<String, Object>(); result.put("count", userList.size()); result.put("flag", flag ? "success" : "failed"); JSONArray jsonArray=JSONArray.fromObject(result); try { response.getWriter().print(jsonArray); } catch (IOException e) { } } private boolean saveBatchUserList(List<Map<String, Object>> userList) { return false; } }
<!doctype html> <html> <head> <meta charset="utf-8"/> <title></title> <#assign ctxPath=request.contextPath> <#setting number_format="#"> <script type="text/javascript" src="${ctxPath}/staticfile/js/jquery-1.7.1.js"></script> <script type="text/javascript" src="${ctxPath}/staticfile/js/jquery.form.js"></script> <script> function upload(){ var submitForm=$("#uploadForm")[0]; var options = { target: submitForm, success: function(resultMap) { //把返回的结果转化为json对象 var result=resultMap[0]; var count=result.count; var flag=result.flag; alert("上传"+count+"个"); alert(flag); }, error: function(){ alert("系统异常,暂时无法访问!"); }, type: 'post', dataType: 'json', iframe: true, async:false, clearForm: false, resetForm: false }; $(submitForm).ajaxSubmit(options); } </script> </head> <body> 姓名: ${name!''} <form name="uploadForm" id="uploadForm" action="${ctxPath}/importFileDatas.action" method="post" enctype="multipart/form-data"> <input type="file" name="uploadFile"> <input type="button" onclick="upload()" value="上传"> </form> </body> </html>
发表评论
-
如何使用spring中的定时任务
2017-10-20 15:00 433<!-- spring 定时任务 begin--&g ... -
spring事务深入理解和案例分析
2017-08-15 19:30 673http://www.cnblogs.com/fjding ... -
MQ消息接收接口
2014-05-23 09:18 1847<beans xmlns="http:// ... -
使用HttpClient、注解、动态代理、Spring的Bean后处理器实现Http消息发送
2014-05-15 17:47 2640<beans xmlns="http:// ... -
使用Jmstemplate向队列中发送数据
2014-05-15 16:43 5009<?xml version="1.0&qu ... -
Spring文件下载
2014-04-15 15:47 754@Controller public class MyC ... -
Spring定时任务调度
2014-04-14 16:57 787第1种方式: public class PayJob e ... -
对TransactionTemplate进行封装,使用程序调用更加简单
2014-03-19 14:18 3454<!-- DB2 dataSource--> ... -
使用TransactionTemplate来完成Spring的编程式事务管理
2014-03-19 14:14 4223<!-- 资源文件 --> <!-- ...
相关推荐
本压缩包"struts+spring文件上传大小限制.rar"显然是针对在Struts和Spring整合环境下,如何处理文件上传时的大小限制问题。以下将详细介绍这两个框架在文件上传时的处理机制以及如何设置文件大小限制。 1. Struts...
在Spring框架中,文件上传是一项常见的功能,尤其在构建Web应用程序时。本实例将深入探讨如何在Java Spring中实现文件上传,并提供一个完整的配置示例。文件上传在现代Web应用中有着广泛的应用,如用户头像上传、...
这个“spring 文件上传jar包”集合可能包含了处理文件上传所必需的各种依赖库,这些库能够帮助开发者轻松地在Spring MVC应用中实现文件上传的功能。下面我们将深入探讨Spring框架中的文件上传以及相关的知识点。 1....
在Spring框架中,文件上传是常见的功能之...总结,Spring文件上传功能强大且灵活,但同时也需要谨慎处理,确保上传过程的安全性和稳定性。理解并熟练运用上述知识点,可以帮助你在实际开发中更好地处理文件上传的需求。
在Spring MVC框架中,文件上传是一项常见的功能,用于接收客户端发送的文件数据并保存到服务器。这个"spring 文件上传.rar"压缩包包含了实现这一功能所需的jar包和其他资源,下载后解压即可直接应用于你的项目中。 ...
这里我们探讨的主题是“spring文件上传代码”,这涉及到Spring MVC如何处理文件上传请求,以及如何实现通用的Excel导入功能。我们将从Java微服务的视角出发,讨论相关依赖包和关键组件。 1. **文件上传**: - ...
在Java Spring框架中,文件上传是一项常见的功能,用于...以上就是关于Java Spring文件上传的基本介绍和实现步骤。在实际项目中,还需要根据具体需求进行优化和扩展,比如添加文件预览、文件类型检查、错误处理等功能。
在Spring框架中,文件上传和下载是常见的功能需求,尤其在构建Web应用程序时。为了实现这一功能,开发者通常会依赖一些外部库,如Apache Commons IO和Apache Commons FileUpload。这两个库提供了强大的文件处理能力...
例如MSDN 的资源上传,yahoo邮箱的附件上传,论坛的附件上传等,文件上传的方式有很多种,例如,使用Struts框架实现文件上传,在JSP中使用jspSmartUpload 组件实现文件上传和使用Spring框架实现文件上传等
【标题】"MYECLIPSE AXIS2 + SPRING 文件上传"所涉及的知识点主要集中在三个核心领域:MYECLIPSE开发环境、AXIS2服务框架和SPRING框架,以及文件上传技术。MYECLIPSE是一款强大的集成开发环境(IDE),常用于Java...
封装springmvc上传单文件、多文件保存,保存文件时(文件夹路径不存在则创建),会改变文件名,使用起来非常方便。
在本项目"【springmvc+jquery.form.min.js+spring文件上传】"中,我们将探讨如何结合这两个技术实现异步文件上传。 首先,我们需要理解Spring MVC中的文件上传处理。Spring MVC提供了`@RequestParam("file") ...
spring文件上传测试项目
本话题主要探讨如何在Spring Cloud环境中处理文件上传,特别是在结合Feign和Zuul这两个组件时的实现方法。Feign是Spring Cloud的一个声明式HTTP客户端,用于简化服务间的调用;而Zuul则是作为API网关,提供路由、...
二、Spring文件上传机制 Spring框架提供了多种方式来实现文件上传,包括使用MultipartFile接口、使用Servlet API等。其中,MultipartFile接口是Spring框架提供的一个接口,用于处理文件上传的请求。该接口提供了...
Spring文件上传的例子需要Java 17或以上版本,以及Gradle 7.5或更高版本,或者Maven 3.5及以上版本。这些工具是构建和管理Java项目的基础,确保了代码的编译和运行。 1. **配置Spring MVC** 要启用Spring MVC来...
在本文中,我们将深入探讨如何使用Spring MVC框架与Ajax技术结合来实现文件上传的功能。Spring MVC是Spring框架的一部分,提供了一种模型-视图-控制器(MVC)架构模式,用于构建Web应用程序。Ajax(Asynchronous ...
以上就是基于Spring实现文件上传和下载的基本流程和技术点。在实际开发中,还需要考虑错误处理、文件大小限制、安全验证等细节问题。在"onegis"这个压缩包中,可能包含了一个实际的Spring Web项目示例,你可以通过...
在Spring MVC框架中,文件上传是一项常见的功能,而实现文件上传进度条则能提供更好的用户体验。这个场景通常涉及到前端的JavaScript或jQuery库(如jQuery File Upload)与后端的Spring MVC控制器之间的交互,以及...