05-SpringMvc文件上传

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/linzhaoliangyan/article/details/88813430

* 添加依赖   

 <!-- 文件上传 -->
    <bean id="multipartResolver"          class="org.springframework.web.multipart.commons.CommonsMultipartResolver">
        <!-- 设置上传文件的最大尺寸为5MB -->
        <property name="maxUploadSize">
            <value>5242880</value>
        </property>
    </bean>
@Controller
@RequestMapping("/upload")
public class UploadController {
    @RequestMapping("/ui")
    public String toUpload(){
        return "upload";
    }
    @RequestMapping("/file")
    public String uploadFile(Model model,MultipartFile file1) throws IOException {
//上传图片的步骤
        //生成唯一的文件名(UUID)
        String filename = UUID.randomUUID().toString();
        //获取文件的后缀
        //获取原文件名
        String originalFilename = file1.getOriginalFilename();
        //获取带.的文件后缀名
        String extName = originalFilename.substring(originalFilename.lastIndexOf("."));
        //上传
        //指定上传的图片的路径
        File file = new File("E:\\work666\\upload\\"+filename+extName);
        file1.transferTo(file);
        model.addAttribute("pic",filename+extName);
        return "uploadSuccess";
    }
}
<%@ page contentType="text/html;charset=UTF-8" language="java" isELIgnored="false" %>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
    <title>文件上传</title>
    <link rel="stylesheet" href="${pageContext.request.contextPath}/bootstrap/css/bootstrap.min.css">
    <script src="${pageContext.request.contextPath}/jquery/jquery-3.3.1.js"></script>
    <script src="${pageContext.request.contextPath}/bootstrap/js/bootstrap.min.js"></script>
</head>
<body>
<form class="form-horizontal" role="form" action="${pageContext.request.contextPath}/upload/file" method="post" enctype="multipart/form-data">
    <div class="form-group">
        <label  class="col-sm-6 control-label">文件</label>
        <div class="col-sm-3">
            <input type="file" class="form-control"  name="file1"/>
        </div>
    </div>

    <div class="form-group">
        <div class="col-sm-offset-2 col-sm-10">
            <button type="submit" class="btn btn-default">上传</button>
        </div>
    </div>
</form>

</body>
</html>

<%@ page contentType="text/html;charset=UTF-8" language="java" isELIgnored="false" %>
<html>
<head>
    <title>文件上传</title>
</head>
<body>
    <h1>文件上传成功</h1>
</body>
</html>

 

* SpringMVC 与Struts2对比

* springmvc的入口是一个servlet即前端控制器,而struts2入口是一个filter过虑器。
* springmvc是基于方法开发(一个url对应一个方法),请求参数传递到方法的形参,可以设计为单例或多例(建议单例),struts2是基于类开发,传递参数是通过类的属性,只能设计为多例。
* Struts采用值栈存储请求和响应的数据,通过OGNL存取数据, springmvc通过参数解析器是将request请求内容解析,并给方法形参赋值,将数据和视图封装成ModelAndView对象,最后又将ModelAndView中的模型数据通过request域传输到页面。Jsp视图解析器默认使用jstl。
* springmvc更符合程序员的开发习惯,目前市场占有率比较高。 

猜你喜欢

转载自blog.csdn.net/linzhaoliangyan/article/details/88813430
今日推荐