package com.springmvc.controller;
import java.io.File;
import java.io.IOException;
import java.util.Iterator;
import org.apache.commons.io.FileUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
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 org.springframework.web.multipart.MultipartHttpServletRequest;
//url: http://localhost:8080/HelloSpringMVC/hello/mvc
@Controller //告诉DispatcherServlet相关的容器, 这是一个Controller,
@RequestMapping(value="/hello") //类级别的RequestMapping,告诉DispatcherServlet由这个类负责处理以及URL。HandlerMapping依靠这个标签来工作
public class HelloController {
private static Logger log = LoggerFactory.getLogger(HelloController.class);
//方法级别的RequestMapping, 限制并缩小了URL路径匹配,同类级别的标签协同工作,最终确定拦截到的URL由那个方法处理
//并指定访问方法为GET
@RequestMapping(value="/mvc",method=RequestMethod.GET)
public String HelloWorld(Model model){
model.addAttribute("message","Hello Spring MVC!!!"); //传参数给前端
//视图渲染,/WEB-INF/view/HelloWorld.jsp
return "HelloWorld"; //页面的名称,根据此字符串会去寻找名为HelloWorld.jsp的页面
}
//定位到上传文件界面 /hello/upload
@RequestMapping(value="/upload", method=RequestMethod.GET)
public String showUploadPage(){
return "uploadFile"; //上传单个文件
}
/**
* 上传单个文件操作
* @param multi
* @return
*/
@RequestMapping(value="/doUpload", method=RequestMethod.POST)
public String doUploadFile(@RequestParam("file") MultipartFile file){
if(!file.isEmpty()){
log.debug("Process file: {}", file.getOriginalFilename());
try {
//这里将上传得到的文件保存至 d:\\temp\\file 目录
FileUtils.copyInputStreamToFile(file.getInputStream(), new File("d:\\temp\\file\\",
System.currentTimeMillis()+ file.getOriginalFilename()));
} catch (IOException e) {
e.printStackTrace();
log.error(e.toString());
}
}
return "success";
}
//定位到上传多个文件界面 /hello/uploadMulti
@RequestMapping(value="/uploadMulti", method=RequestMethod.GET)
public String showUploadPage2(){
return "uploadMultifile"; //view文件夹下的上传多个文件的页面
}
/**
* 上传多个附件的操作类
* @param multiRequest
* @return
* @throws IOException
*/
@RequestMapping(value="/doMultiUpload", method=RequestMethod.POST)
public String doUploadFile2(MultipartHttpServletRequest multiRequest) throws IOException{
Iterator<String> filesNames = multiRequest.getFileNames();
while(filesNames.hasNext()){
String fileName =filesNames.next();
MultipartFile file = multiRequest.getFile(fileName);
if(!file.isEmpty()){
log.debug("Process file: {}", file.getOriginalFilename());
FileUtils.copyInputStreamToFile(file.getInputStream(), new File("d:\\temp\\file\\",
System.currentTimeMillis()+ file.getOriginalFilename()));
}
}
return "success";
}
}
没有合适的资源?快使用搜索试试~ 我知道了~
资源推荐
资源详情
资源评论
收起资源包目录
HelloSpringMVC.zip (29个子文件)
HelloSpringMVC
pom.xml 2KB
target
test-classes
log4j.properties 462B
m2e-wtp
web-resources
META-INF
maven
com.hello
HelloSpringMVC
pom.xml 749B
pom.properties 235B
MANIFEST.MF 115B
classes
META-INF
maven
com.hello
HelloSpringMVC
pom.xml 2KB
pom.properties 235B
MANIFEST.MF 115B
com
springmvc
controller
HelloController.class 4KB
.settings
org.eclipse.m2e.core.prefs 90B
org.eclipse.wst.jsdt.ui.superType.name 6B
org.eclipse.wst.common.project.facet.core.xml 252B
org.eclipse.wst.common.component 772B
org.eclipse.wst.jsdt.ui.superType.container 49B
org.eclipse.wst.validation.prefs 50B
.jsdtscope 639B
org.eclipse.jdt.core.prefs 430B
src
test
resources
log4j.properties 462B
java
main
webapp
WEB-INF
spring-mvc-servlet.xml 2KB
assets
web.xml 1KB
view
HelloWorld.jsp 432B
uploadFile.jsp 688B
uploadMultifile.jsp 742B
success.jsp 508B
index.jsp 57B
resources
java
com
springmvc
controller
HelloController.java 3KB
.project 1KB
.classpath 2KB
.tern-project 162B
共 29 条
- 1
格子衫111
- 粉丝: 482
- 资源: 27
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
- 1
- 2
前往页