讲师中心 微信公众号

工具推荐

视频效率加速
立刻MV
立刻MV

低成本歌曲 MV、视频生成

AniShort
AniShort

AI短剧协同制作平台

剧云
剧云

中文短剧剧本制作平台

updream

一键生成高质量推广成片

XML上传文件大小限制 如何配置Tomcat的上传大小

梦杰同学_1406

梦杰同学_1406

发布时间:2026-02-08 12:41:02

|

918人浏览过

|

来源于php中文网

原创

Tomcat默认上传限制为2MB,即单个文件和整个表单总大小均不得超过2097152字节;该限制源于Servlet 3.0+内置multipart解析器的maxFileSize与maxRequestSize默认值。

xml上传文件大小限制 如何配置tomcat的上传大小

Tomcat默认上传限制是多少

Tomcat本身不直接限制XML文件(或任何文件)上传大小,真正起作用的是Servlet容器对multipart/form-data请求的解析限制。从Tomcat 8.5开始,默认使用内置的StandardMultipartResolver,其maxFileSize和maxRequestSize默认均为2MB(即2097152字节)。这意味着:单个文件超2MB,或整个表单(含多个文件、文本字段)总大小超2MB,都会触发400 Bad Request或java.lang.IllegalStateException: org.apache.tomcat.util.http.fileupload.FileUploadBase$SizeLimitExceededException错误。

修改web.xml配置(适用于Servlet 3.0+应用)

这是最常用、也最推荐的方式,无需改Tomcat全局配置,只影响当前Web应用。需在应用的WEB-INF/web.xml中添加<multipart-config></multipart-config>节点:

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee
         http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd"
         version="4.0">
<p><servlet>
<servlet-name>dispatcher</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<init-param>
<param-name>contextConfigLocation</param-name>
<param-value>/WEB-INF/spring-mvc.xml</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
<multipart-config>
<max-file-size>52428800</max-file-size>     <!-- 50MB -->
<max-request-size>52428800</max-request-size> <!-- 50MB -->
<file-size-threshold>0</file-size-threshold>   <!-- 直接写入磁盘,不缓存到内存 -->
</multipart-config>
</servlet></p><p><servlet-mapping>
<servlet-name>dispatcher</servlet-name>
<url-pattern>/</url-pattern>
</servlet-mapping></p><p></web-app>

注意:<multipart-config></multipart-config>必须放在<servlet></servlet>内,且该servlet必须是实际处理文件上传的入口(如Spring MVC的DispatcherServlet)。如果用的是其他框架(如Struts2),要确保对应servlet被配置。

Spring Boot项目怎么配(application.properties/yml)

Spring Boot 2.0+已弃用spring.http.multipart.*,统一使用spring.servlet.multipart.*。若上传的是XML文件,仍需确保后端接收逻辑(如@RequestParam("file") MultipartFile file)能正常绑定:

HTTP状态码查询
HTTP状态码查询

查询网站的HTTP响应状态码,判断网站是否正常访问、是否重定向、是否存在错误。适用于"HTTP状态码查询""网站状态查询""HTTP状态检测""网页状态码""网站响应码""301重定向查询"等请求。通过本地 Python 脚本调用网站HTTP状态查询接口,并使用环境变量中的专属 API Key。

下载
spring.servlet.multipart.max-file-size=50MB
spring.servlet.multipart.max-request-size=50MB
spring.servlet.multipart.file-size-threshold=0

常见坑点:

  • 单位写错:支持MB、KB、B,但不能写mb(大小写敏感)
  • 配置位置错误:必须放在application.properties(或application.yml),不能写在logback-spring.xml等无关配置里
  • 与Nginx共存时:若前端有Nginx反向代理,还需同步设置client_max_body_size,否则请求根本到不了Tomcat

为什么改了配置还是报400?排查关键点

上传失败却不报具体异常,往往是因为错误被静默吞掉或返回了通用HTTP状态码。重点检查以下几处:

  • 确认请求Content-Type确实是multipart/form-data,且boundary格式合法;XML文件名含中文或特殊字符时,需确保前端用encodeURIComponent或设置Content-Disposition的filename*=编码
  • 查看Tomcat日志(logs/catalina.out或localhost.<date>.log</date>),搜索SizeLimitExceededException——如果没出现,说明限制没生效或根本没走到Servlet解析阶段
  • Spring应用中,若自定义了MultipartResolver(如CommonsMultipartResolver),则web.xml或@Bean里的配置会覆盖默认行为,此时应优先检查该Bean的maxUploadSize属性
  • Java启动参数中设置了-Dorg.apache.catalina.connector.RECYCLE_FACADES=true可能导致部分异常堆栈丢失,临时关闭有助于定位

XML文件本身没有特殊上传路径,它和TXT、ZIP一样受同一套multipart限制约束;真正容易被忽略的是:当XML作为text/xml直接POST(非form-data)时,走的是请求体读取流程,此时限制来自maxHttpHeaderSize或maxPostSize(server.xml中Connector配置),而非multipart配置。

热门AI工具

更多
咔片AIPPT

一款在线AI演示文稿制作工具,可根据主题和内容需求辅助生成PPT结构与页面,提高演示材料制作效率。

WorkBuddy

一款AI办公效率工具,主要用于腾讯云推出的AI原生桌面智能体工作台,适合需要提升相关任务效率的用户。

切问学术

切问学术是一款AI论文写作工具,复旦大学NLP团队推出的AI学术智能体。

豆包大模型

豆包大模型是一款由字节跳动推出的企业级大语言模型服务平台。

立刻MV
立刻MV Hot

立刻MV是一款AI文本写作工具,AI 音乐视频(MV)创作工具。

DeepSeek

DeepSeek是一款面向对话、写作、编程和推理场景的AI大模型工具。

讯飞智作

讯飞智作是一款AI视频创作工具,AI文本配音工具,数字人课程、营销视频制作。

小橡皮AI

一款AI工具,主要用于小橡皮一键去AI味,将机器味重的内容改得更有活人感,防止因为 AI 内容被平台打上 AI 标签,以及限流,适合需要提升相关任务效率的用户。

蛙蛙写作

一款AI论文写作工具,主要用于超级AI智能写作助手,适合需要提升相关任务效率的用户。

相关专题

更多
如何配置Tomcat环境变量
如何配置Tomcat环境变量

配置Tomcat环境变量需要在系统中添加CATALINA_HOME变量,并将Tomcat的安装路径添加到PATH变量中。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

965

2023.10.26

idea如何集成Tomcat
idea如何集成Tomcat

idea集成Tomcat的步骤:1、添加Tomcat服务器配置;2、配置项目部署;3、运行Tomcat服务器;4、访问项目;5、注意事项;6、关闭Tomcat服务器。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

324

2024.02.23

怎么查看Tomcat源代码
怎么查看Tomcat源代码

查看Tomcat源代码的步骤:1、下载Tomcat源代码;2、在IDEA中导入Tomcat源代码;3、查看源代码;4、理解Tomcat的工作原理;5、参与社区和贡献;6、注意事项;7、持续学习和更新;8、使用工具和插件。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

509

2024.02.23

常见的tomcat漏洞有哪些
常见的tomcat漏洞有哪些

常见的tomcat漏洞有:1、跨站脚本攻击;2、跨站请求伪造;3、目录遍历漏洞;4、缓冲区溢出漏洞;5、配置漏洞;6、第三方组件漏洞。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

305

2024.02.23

tomcat日志乱码怎么解决
tomcat日志乱码怎么解决

tomcat日志乱码的解决办法:1、修改tomcat的日志编码设置;2、检查ide的编码设置;3、检查操作系统的编码设置;4、使用过滤器处理日志;5、检查外部系统的编码设置;6、检查文件编码方式等等。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

348

2024.02.23

weblogic和tomcat有哪些区别
weblogic和tomcat有哪些区别

weblogic和tomcat的区别:1、功能;2、性能;3、规模;4、价格;5、安全性;6、配置和管理;7、社区支持;8、集成能力;9、升级和更新;10、可靠性。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

349

2024.02.23

tomcat和nginx有哪些区别
tomcat和nginx有哪些区别

tomcat和nginx的区别:1、应用领域;2、性能;3、功能;4、配置;5、安全性;6、扩展性;7、部署复杂性;8、社区支持;9、成本;10、日志管理。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

601

2024.02.23

tomcat启动闪退怎么解决
tomcat启动闪退怎么解决

tomcat启动闪退的解决办法:1、检查java环境;2、检查环境变量配置;3、检查端口被占用;4、检查配置文件编码;5、检查启动时需要的配置文件;6、检查相关文件是否丢失;7、检查防火墙和杀毒软件设置。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

322

2024.02.23

Go-Zero API开发使用教程
Go-Zero API开发使用教程

本专题聚焦Go-Zero的API开发,拆解.api描述文件的语法结构、路由与分组定义、参数绑定与校验规则,说明统一响应体、JWT鉴权、跨域与接口文档生成的落地方式,并给出网关聚合与接口测试的实践建议。

40

2026.11.12

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
dev.java 官方:Learn Java
dev.java 官方:Learn Java

共0课时 | 0人学习

Java JDBC数据库连接官方教程
Java JDBC数据库连接官方教程

共0课时 | 0人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn