零xml配置Spring MVC文件上传
来源:互联网 发布:淘宝商品管理 编辑:程序博客网 时间:2024/06/05 20:26
基于能不用xml配置就不用的原则,这次写一下如何零xml配置Spring MVC的文件上传功能
首先配置DispatchServlet
public class WebAppInitializer extends AbstractAnnotationConfigDispatcherServletInitializer{ @Override protected Class<?>[] getRootConfigClasses() { return new Class<?>[]{RootConfig.class}; } @Override protected Class<?>[] getServletConfigClasses() { return new Class<?>[]{WebConfig.class}; } //将DispatchServlet映射到“/” @Override protected String[] getServletMappings() { return new String[]{"/"}; } /* 设置Multipart具体细节(必须) 指定文件存放的临时路径 上传文件最大容量 整个请求的最大容量 0表示将所有上传的文件写入到磁盘中 */ @Override protected void customizeRegistration(ServletRegistration.Dynamic registration) { registration.setMultipartConfig(new MultipartConfigElement("/home/eros/temp",20971520,41943040,0)); }}
配置DispatchServlet负责加载的bean
@EnableWebMvc@Configuration@ComponentScan(basePackages = "controller")public class WebConfig extends WebMvcConfigurerAdapter{ //配置视图解析器 @Bean public ViewResolver viewResolver(){ InternalResourceViewResolver resolver=new InternalResourceViewResolver(); resolver.setPrefix("/WEB-INF/views/"); resolver.setSuffix(".jsp"); return resolver; } //配置静态资源处理 @Override public void configureDefaultServletHandling(DefaultServletHandlerConfigurer configurer) { configurer.enable(); } //配置Multipart解析器 @Bean public MultipartResolver multipartResolver(){ StandardServletMultipartResolver resolver=new StandardServletMultipartResolver(); resolver.setResolveLazily(true); return resolver; }}
配置ContextLoaderListener负责加载的bean
@Configuration@ComponentScan(basePackages = "config",excludeFilters = {@ComponentScan.Filter(type = FilterType.ANNOTATION,value = EnableWebMvc.class)})public class RootConfig {}
设置Controller
@Controller@RequestMapping(value = "/home")public class HomeController { //上传功能 @RequestMapping(value = "/upload",method = RequestMethod.GET) public String showUploadPage(){ return "file"; } //处理文件上传 @RequestMapping(value = "/doUpload",method = RequestMethod.POST) //通过@RequestPart指定请求中对应part的数据 public String doUpload(@RequestPart("file") MultipartFile file) throws IOException { if (!file.isEmpty()){ FileUtils.copyInputStreamToFile(file.getInputStream() ,new File("/home/eros/"+file.getOriginalFilename())); } return "success"; }}
file.jsp:
<%@ page contentType="text/html;charset=UTF-8" language="java" %><html><head> <title>Upload</title></head><body><h1>上传附件</h1><!--交由映射到“/home/doUpload的Controller处理请求”--><form method="post" action="/home/doUpload" enctype="multipart/form-data"> <input type="file" name="file"> <input type="submit"></form></body></html>
success.jsp
<%@ page contentType="text/html;charset=UTF-8" language="java" %><html><head> <title>success</title></head><body><h1>Success</h1></body></html>
pom.xml
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>org.eros.dgeek</groupId> <artifactId>SpringMVC</artifactId> <packaging>war</packaging> <version>1.0-SNAPSHOT</version> <name>SpringMVC Maven Webapp</name> <url>http://maven.apache.org</url> <dependencies> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>4.12</version> <scope>test</scope> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-context</artifactId> <version>4.3.8.RELEASE</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-aop</artifactId> <version>4.3.8.RELEASE</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-webmvc</artifactId> <version>4.3.8.RELEASE</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-jdbc</artifactId> <version>4.3.8.RELEASE</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-aspects</artifactId> <version>4.3.8.RELEASE</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-orm</artifactId> <version>4.3.8.RELEASE</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-jms</artifactId> <version>4.3.8.RELEASE</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-tx</artifactId> <version>4.3.8.RELEASE</version> </dependency> <dependency> <groupId>org.apache.tomcat</groupId> <artifactId>tomcat-jsp-api</artifactId> <version>8.5.13</version> </dependency> <dependency> <groupId>commons-fileupload</groupId> <artifactId>commons-fileupload</artifactId> <version>1.3.2</version> </dependency> </dependencies> <build> <finalName>SpringMVCLearning</finalName> </build></project>
0 0
- 零xml配置Spring MVC文件上传
- Spring零配置xml文件
- spring mvc xml文件配置
- spring MVC 零配置
- Servlet 3 + Spring MVC零配置:去除所有xml
- Servlet 3 + Spring MVC零配置:去除所有xml
- 零xml配置Spring MVC过滤器解决中文参数乱码
- spring mvc配置上传文件的大小
- Spring MVC 零配置 / Spring MVC JavaConfig
- spring-mvc.xml文件的配置方式
- spring mvc 文件上传
- spring MVC 文件上传
- Spring MVC文件上传
- Spring MVC文件上传
- spring mvc 文件上传
- Spring mvc 文件上传
- spring mvc 文件上传
- spring mvc 上传文件
- POJ 1029 False coin 笔记 模拟
- dfs-hdu2782
- Spring Boot集成CKFinder-优化
- 剑指offer--面试题13:在O(1)时间删除链表结点
- HTTP协议之基本认证
- 零xml配置Spring MVC文件上传
- jQuery选择器实例列表
- ZOJ 1027 Human Gene Functions(最长公共子序列)
- mybatis3--3.mybatis开发dao的方法
- 【51单片机】常用波特率初值表
- LeetCode算法题——22. Generate Parentheses
- Java 多线程(一)——多线程概述
- 正则表达式知识总结
- 安装APK在android7.0以下版本出现INSTALL_PARSE_FAILED_NO_CERTIFICATES错误的解决方案