美文网首页
form表单提交

form表单提交

作者: ImushroomT | 来源:发表于2017-10-18 22:31 被阅读0次

form表单提交主要是两种类型,分别是application/x-www-form-urlencoded 与 multipart/form-data。前者用于普通参数提交,后者用于包含文件的提交。对于后者spring mvc需要使用CommonsMultipartResolver进行解析。xml配置如下:

<bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver">
        <!-- one of the properties available; the maximum file size in bytes -->
        <property name="defaultEncoding" value="utf-8" />
        <property name="maxUploadSize" value="10485760000" />
        <property name="maxInMemorySize" value="40960" />
    </bean>

CommonsMultipartResolver会分别取出文件和普通参数进行参数匹配。解析方法代码如下:

public MultipartHttpServletRequest resolveMultipart(final HttpServletRequest request) throws MultipartException {
        Assert.notNull(request, "Request must not be null");
        if (this.resolveLazily) {
            return new DefaultMultipartHttpServletRequest(request) {
                @Override
                protected void initializeMultipart() {
                    MultipartParsingResult parsingResult = parseRequest(request);
                    setMultipartFiles(parsingResult.getMultipartFiles());
                    setMultipartParameters(parsingResult.getMultipartParameters());
                    setMultipartParameterContentTypes(parsingResult.getMultipartParameterContentTypes());
                }
            };
        }
        else {
            MultipartParsingResult parsingResult = parseRequest(request);
            return new DefaultMultipartHttpServletRequest(request, parsingResult.getMultipartFiles(),
                    parsingResult.getMultipartParameters(), parsingResult.getMultipartParameterContentTypes());
        }
    }

DispatcherServlet中会调用如下代码来调用CommonsMultipartResolver的resolveMultipart

processedRequest = checkMultipart(request);

相关文章

  • Web中的常用的两种表单验证

    今天介绍下web开发中常用的两种表单验证,form提交和ajax提交 form提交 表单是通过form提交时,用户...

  • 关于post与ajax post的数据类型

    form表单提交 传统的form表单提交只需要一个form标签,指定action、method='POST',并期...

  • 2019-03-04 表单,标签笔记

    1.如果form表单里没有提交按钮则无法提交这个form(除非用js 2.form表单里若没有提交submit按钮...

  • Ajax提交form表单

    ajax提交form表单

  • From表单提交数据的几种方式

    目录 1,Form表单的常用属性2,浏览器提交表单时执行步骤3,提交方法4,常见的几种提交方式 form表单常用属...

  • 02_html&css

    HTML 表单标签

    form标签属性action:表单提交的路径,可以是html,也可以...

  • form表单和ajax文件上传

    通过传统的form表单提交的方式上传文件: 名称 文件 不过传统的form表单提交会导...

  • 2019-10-24 表单标签

    今天学习了html表单 HTML表单(

    标签) 属性: 1 action:决定表单提交的地...

  • form表单

    form表单的作用form用于把用户输入的数据提交到后台 name:表单提交时的名称action:提交到的地址...

  • HTML 表单的用法

    HTML表单 form表单 form表单用于把用户输入的数据提交给后台服务器name表示提交的表单名称,actio...

网友评论

      本文标题:form表单提交

      本文链接:https://www.haomeiwen.com/subject/ftlyuxtx.html