首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Tomcat 8.5和Spring Boot 2.2设置中,Request body或query param的数字大于10位显示404错误

基础概念

Tomcat 是一个开源的 Java Servlet 容器,用于处理 Web 请求。Spring Boot 是一个用于简化 Spring 应用程序初始搭建以及开发过程的框架。它提供了自动配置功能,可以快速启动和运行应用程序。

问题描述

在使用 Tomcat 8.5 和 Spring Boot 2.2 时,如果 Request body 或 query param 中的数字大于 10 位,会显示 404 错误。

原因分析

这个问题的根本原因可能是由于 Tomcat 的默认配置限制了请求参数的长度。Tomcat 默认情况下对 URL 参数的长度有限制,如果参数过长,可能会导致 404 错误。

解决方法

1. 修改 Tomcat 配置

可以通过修改 Tomcat 的配置文件 server.xml 来增加 URL 参数的长度限制。具体步骤如下:

  1. 找到 Tomcat 的安装目录,进入 conf 文件夹。
  2. 打开 server.xml 文件。
  3. 找到 <Connector> 标签,并添加或修改 maxHttpHeaderSizemaxParameterCount 属性。例如:
代码语言:txt
复制
<Connector port="8080" protocol="HTTP/1.1"
           connectionTimeout="20000"
           redirectPort="8443"
           maxHttpHeaderSize="8192"
           maxParameterCount="2000" />
  • maxHttpHeaderSize:设置 HTTP 请求头的最大大小,默认值为 8192 字节。
  • maxParameterCount:设置单个请求的最大参数数量,默认值为 1000。

2. 使用 Spring Boot 配置

Spring Boot 也提供了配置选项来限制请求参数的长度。可以在 application.propertiesapplication.yml 文件中进行配置。例如:

application.properties:

代码语言:txt
复制
server.tomcat.max-http-header-size=8192
server.tomcat.max-parameters=2000

application.yml:

代码语言:txt
复制
server:
  tomcat:
    max-http-header-size: 8192
    max-parameters: 2000

应用场景

这种配置适用于需要处理大量参数或大尺寸请求头的应用场景,例如:

  • 大数据传输
  • 文件上传
  • 复杂的 API 请求

参考链接

通过以上配置,可以有效解决 Tomcat 8.5 和 Spring Boot 2.2 中 Request body 或 query param 数字大于 10 位显示 404 错误的问题。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

记一次升级Tomcat

问题一:请求js文件报404错误     其实这个问题严格来讲不是升级到Tomcat8出现问题,而是升级到Tomcat9出现问题。...数组值才不会设置成true,所以我们需要追踪REQUEST_TARGET_ALLOW数组赋值 if (!...问题二:Cookie设置报错      这个问题就是在升级到Tomcat8.5以上时候会出现,具体原因是Tomcat8.5采用Cookie处理类是: Rfc6265CookieProcessor,...规范对domain有以下要求 1、必须是1-9、a-z、A-Z、. 、- (注意是-不是_)这几个字符组成 2、必须是数字字母开头 (所以以前cookie设置为.XX.com 机制要改为 XX.com...即可) 3、必须是数字字母结尾 原来代码设置domain时如下: cookie.setDomain(".aaa.com"); 这就导致设置domain时候不符合新规范,直接报错如下: java.lang.IllegalArgumentException

1.9K30
  • springBoot学习(五)springBoot自定义banner与web开发

    方式四 自定义图片名称,通过在application.properties添加“spring.banner.image.location=自定义名称.jpg” 在启动项目的时候,文字图片可以共同显示...指定前缀后缀 spring.mvc.view.prefix=/ spring.mvc.view.suffix=.jsp prefix=/,这里/指的是webapp,为jsp根目录,idea可以设置...=springBoot_demo_logs #是否延迟在文件名包含日期戳,直到旋转时间 server.tomcat.accesslog.rename-on-rotate=false #设置请求IP地址...server.tomcat.accesslog.rotate=true #日志文件名称后缀 server.tomcat.accesslog.suffix=.log tomcat最大线程数连接数设置...#设置tomcat最大线程数 server.tomcat.max-threads=1000 #设置tomcat最大连接数 server.tomcat.max-connections=20000

    74030

    一个项目的SpringCloud微服务改造过程

    解析:依赖mybatis-spring-boot-starter工程依赖了tomcat数据源,spring-boot-autoconfigure-starterDataSourceAutoConfiguration...先看mybatis-spring-boot-startermybatis-spring-boot-autoconfigurespring.factories文件 # Auto Configure org.springframework.boot.autoconfigure.EnableAutoConfiguration...":null } 1.3 注意事项 1.3.1 内置tomcat版本太高引发问题 SpringBoot1.5默认使用内嵌tomcat8.5版本,而原来SpringMVCSSO部署在tomcat7上。...必须是数字字母开头 (之前是以.creditease.corp 会报错tomcat cookie domain validation异常,最后改成了 creditease.corp)。...必须是数字字母结尾。 二、前后端分离 2.1 解决跨域问题 由于是两个不同应用,必然会有两个不同端口。

    2.3K20

    hibernate-validator校验参数(统一异常处理)

    被注释元素必须为 false @Min(value) 被注释元素必须是一个数字,其值必须大于等于指定最小值 @Max(value) 被注释元素必须是一个数字,其值必须小于等于指定最大值 @DecimalMin...(value) 被注释元素必须是一个数字,其值必须大于等于指定最小值 @DecimalMax(value) 被注释元素必须是一个数字,其值必须小于等于指定最大值 @Size(max, min)...具体对应关系可以参照如下表格: spring boot 版本 validation依赖 < 2.3.x spring-boot-starter-web传递校验依赖 > 2.3.x 需要手动引入spring-boot-starter-validation...根据请求方式、携带内容以及实际应用场景,一般有三类: POST Request Body; GET PathVariable (如/foos/{id}); GET Query Param...q=param) 上面三种基本覆盖了大部分开发场景 1.验证Request Body 接收参数包装类 @Getter @Setter public class RequestParam {

    1.4K20

    SpringBoot学习笔记(十一:使用MongoDB存储文件 )

    1.1、添加依赖 spring-boot-starter-data-mongodb:用来操作MongoDB spring-boot-starter-thymeleaf:前端页面采用thymeleaf模板...对html元素格式要求严格,设置mode为HTML,忘记结束标签后不会报错 spring.thymeleaf.mode=HTML # 编码 spring.http.encoding.charset...在文件操作过程,可以通过可视化工具shell来查看存储在MongoDB文件: 可以看到,在fileModel集合存储了我们上传文件,文件内容是以二进制形式存储 ?...=null){ //根据文件ID删除fs.filesfs.chunks记录 Query deleteFileQuery = new Query()....在上传删除数据过程,可以通过可视化工具shell来查看MongoDB数据 fileDocment数据:fileDocment是一个普通集合,对应地以文档形式存储了FileDocument

    3.3K41

    Spring Boot(1)-构建应用实践

    ,第三个第四个可以点上),如下图 b) 设置mavensetting.xml文件路径 2、创建应用 使用Spring Boot框架可以大大加速Web应用开发过程,首先在Maven项目依赖引入...但是 Spring Boot 也提供了不同选项,比如日志框架可以用 Logback Log4j,应用服务器可以用 Tomcat Jetty。...如果访问http://localhost:8080/hello,则会出现404 Not Found错误,因为我们并没有编写任何方法来处理/hello请求。 4....如果访问http://localhost:8080/hello,则会出现404 Not Found错误,因为我们并没有编写任何方法来处理/hello请求。...还是get2) 2)@RequestParam : 这个注解用来绑定单个请求数据,既可以是url参数,也可以是表单提交参数上传文件 它有三个属性: value 用于设置参数名

    44620

    Tomcat 7 升级到 Tomcat 8 历程

    问题一:请求js文件报404错误     其实这个问题严格来讲不是升级到Tomcat8出现问题,而是升级到Tomcat9出现问题。...数组值才不会设置成true,所以我们需要追踪REQUEST_TARGET_ALLOW数组赋值 if (!...问题二:Cookie设置报错     这个问题就是在升级到Tomcat8.5以上时候会出现,具体原因是Tomcat8.5采用Cookie处理类是: Rfc6265CookieProcessor,...规范对domain有以下要求 1、必须是1-9、a-z、A-Z、. 、- (注意是-不是_)这几个字符组成 2、必须是数字字母开头 (所以以前cookie设置为.XX.com 机制要改为 XX.com...即可) 3、必须是数字字母结尾 原来代码设置domain时如下: cookie.setDomain(".aaa.com"); 这就导致设置domain时候不符合新规范,直接报错如下: java.lang.IllegalArgumentException

    2K10

    Spring Boot 最佳实践(二)集成Jsp与生产环境部署

    (作用域)值为provided,表示打包时候不用打包进去,其他设备会提供,如果打包进去会外部Tomcat提供jar冲突,导致项目启动失败。...需要添加systemPath属性来定义路径 4.编写Spring MVC代码 经过前3步配置,项目配置部分已经完成差不多了,接下来就是代码编写了,代码编写Spring MVC一样,分为两部分...为了更好演示Spring Boot 功能,我们会尽可能简化业务逻辑,在这个示例我们创建一个Cat类,设置标签hi="Hello Cat",在页面输出标签即可。...} 这个jsp只做了一件事,把java类里面的${hi}标签显示出来。...404,而打包为war时候回包含JSP文件,所以需要把打包格式修改为war. jarwar区别?

    1.8K50

    SpringBoot2核心技术-web开发

    再次封装到JavaBean ** ** GenericConversionService:在设置每一个值时候,找它里面的所有converter那个可以将这个数据类型(request带来参数字符串...包括数据视图地址 2、方法参数是一个自定义类型对象(从请求参数确定),把他重新放在 ModelAndViewContainer 3、任何目标方法执行完成以后都会返回 ModelAndView(数据视图地址...1、默认规则 默认情况下,Spring Boot提供/error处理所有错误映射 对于机器客户端,它将生成JSON响应,其中包含错误,HTTP状态异常消息详细信息。...error/下4xx,5xx页面会被自动解析; 2、定制错误处理逻辑 自定义错误页 error/404.html error/5xx.html;有精确错误状态码页面就匹配精确,没有就找 4xx.html...> spring-boot-starter-tomcat </exclusions

    75830

    Unregistering JMX-exposed beans on shutdown

    解决Spring Boot应用启动及404问题 在开发部署Spring Boot应用程序时,遇到问题是很常见。本篇博客将为您介绍一种常见启动问题以及对应解决方案。...摘要 本文将探讨在启动Spring Boot应用程序时出现两个常见问题:一是启动成功但无法访问接口,返回404错误;二是应用启动失败。...然而,在开发部署过程,您可能会遇到各种问题。这些问题可能涉及应用配置、依赖项、服务器问题等。本篇博客将关注两个常见问题:启动成功但返回404错误,以及应用启动失败。...解决方案 如果应用程序启动失败,首先要检查日志错误信息,以了解具体问题。在这个例子,似乎应用程序缺少了Tomcat容器。...如果有其他依赖关系配置问题,您可以根据错误信息逐步排查并解决。 总结 在开发部署Spring Boot应用程序时,遇到问题是正常

    11010

    Spring Boot 关于自定义异常处理套路!

    4-12-1.jpg 在 Spring Boot 项目中 ,异常统一处理,可以使用 Spring @ControllerAdvice 来统一处理,也可以自己来定义异常处理方案。...Spring Boot ,对异常处理有一些默认策略,我们分别来看。...默认情况下,Spring Boot 异常页面 是这样: 我们从这个异常提示,也能看出来,之所以用户看到这个页面,是因为开发者没有明确提供一个 /error 路径,如果开发者提供了 /error...路径 ,这个页面就不会展示出来,不过在 Spring Boot ,提供 /error 路径实际上是下下策,Spring Boot 本身在处理异常时,也是当所有条件都不满足时,才会去找 /error...注意,动态页面模板,不需要开发者自己去定义控制器,直接定义异常页面即可 ,Spring Boot 自带异常处理器会自动查找到异常页面。 页面定义如下: 页面内容如下: <!

    1K00

    扔掉okhttp、httpClient,来试试这款轻量级HTTP客户端神器?

    lianjiatech/retrofit-spring-boot-starter 前言 Retrofit是适用于AndroidJava且类型安全HTTP客户端,其最大特性是支持通过接口方式发起...BODY:Logs request and response lines and their respective headers and bodies (if present). retrofit-spring-boot-starter...复制代码 错误解码器 在HTTP发生请求错误(包括发生异常或者响应数据不符合预期)时候,错误解码器可将HTTP相关信息解码到自定义异常。...retrofit-spring-boot-starter支持熔断降级功能,底层基于Sentinel实现。具体来说,支持了熔断资源自发现注解式降级规则配置。...另外,fallbackfallbackFactory实例必须配置成Spring容器Bean。

    1.8K30
    领券