这期内容当中小编将会给大家带来有关JavaWeb中怎么实现文件上传,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。
公司主营业务:成都做网站、成都网站制作、成都外贸网站建设、移动网站开发等业务。帮助企业客户真正实现互联网宣传,提高企业的竞争能力。创新互联公司是一支青春激扬、勤奋敬业、活力青春激扬、勤奋敬业、活力澎湃、和谐高效的团队。公司秉承以“开放、自由、严谨、自律”为核心的企业文化,感谢他们对我们的高要求,感谢他们从不同领域给我们带来的挑战,让我们激情的团队有机会用头脑与智慧不断的给客户带来惊喜。创新互联公司推出蒲县免费做网站回馈大家。
引入依赖
当然在引入依赖之前我们需要先创建一个被Maven管理的Web Project,创建方式我就不多说了,小伙伴们如果不熟悉可以参考这篇文章SpringMVC基础配置(通过注解配置,非xml配置)。创建成功之后在SpringMVC框架的基础之上再添加如下两个依赖就行了:
commons-fileupload commons-fileupload 1.3.2 commons-io commons-io 2.5
两个依赖库,一个用来解决文件上传,一个简化IO操作。
创建文件上传页面
这个是一个简单的jsp页面,我在resources文件夹中创建views文件夹,在views文件夹中创建index.jsp文件,如下:
<%@ page contentType="text/html;charset=UTF-8" language="java" %>文件上传
这个页面很简单,没啥好说的,注意action是upload就行了。
配置SpringMVC
这一步算是比较关键的一步,但是这里只有一个新Bean,我们先来看看类:
@Configuration
@EnableWebMvc
@ComponentScan("org.sang")
public class MVCConfig extends WebMvcConfigurerAdapter{
@Bean
public InternalResourceViewResolver viewResolver() {
InternalResourceViewResolver viewResolver = new InternalResourceViewResolver();
viewResolver.setPrefix("/WEB-INF/classes/views/");
viewResolver.setSuffix(".jsp");
viewResolver.setViewClass(JstlView.class);
return viewResolver;
}
@Override
public void addViewControllers(ViewControllerRegistry registry) {
registry.addViewController("/index").setViewName("/index");
}
@Bean
public MultipartResolver multipartResolver() {
CommonsMultipartResolver resolver = new CommonsMultipartResolver();
resolver.setMaxUploadSize(1000000);
return resolver;
}
}这个类在前面几篇博客中已经反复说过好几次了,这里只是多了一个multipartResolver方法,该方法用来提供一个MultipartResolver的Bean,该方法中主要根据业务需求对CommonsMultipartResolver进行配置,我这里以限制上传文件大小为例。
Web配置
这个也是老生常谈,前面几篇博客也说了n多次了,不赘述:
public class WebInit implements WebApplicationInitializer {
public void onStartup(ServletContext servletContext) throws ServletException {
AnnotationConfigWebApplicationContext context = new AnnotationConfigWebApplicationContext();
context.register(MVCConfig.class);
context.setServletContext(servletContext);
ServletRegistration.Dynamic servlet = servletContext.addServlet("dispatcher", new DispatcherServlet(context));
servlet.addMapping("/");
servlet.setLoadOnStartup(1);
}
}编写Controller
@Controller
public class UploadController {
@ResponseBody
@RequestMapping(value = "/upload",method = RequestMethod.POST,produces = "text/plain;charset=UTF-8")
public String upload(MultipartFile file) {
try {
FileUtils.writeByteArrayToFile(new File("/home/sang/workspace/"+file.getOriginalFilename()),file.getBytes());
return "上传成功";
} catch (IOException e) {
e.printStackTrace();
return "上传失败";
}
}
}这里通过Common-IO 中提供的相关方法,直接将上传文件的byte数组写成文件就行。
这个时候运行项目,在浏览器中打开index.jsp,如下:
上述就是小编为大家分享的JavaWeb中怎么实现文件上传了,如果刚好有类似的疑惑,不妨参照上述分析进行理解。如果想知道更多相关知识,欢迎关注创新互联行业资讯频道。
网站标题:JavaWeb中怎么实现文件上传
网页链接:http://www.jxjierui.cn/article/iejsid.html


咨询
建站咨询
