当前位置: 首页 > wzjs >正文

用什么网站推广百度推广天天打骚扰电话

用什么网站推广,百度推广天天打骚扰电话,免费一键生成证件照,wordpress home插件项目背景 一个档案管理系统,在上传比较大的文件时由于系统设置的文件大小受限导致文件上传不了,这时候设置的异常捕捉未能正常报错导致前端页面一直在转圈,实际上后端早已校验完成。 全局异常类设置的捕捉 添加了ControllerAdvice以及RestCon…

项目背景

        一个档案管理系统,在上传比较大的文件时由于系统设置的文件大小受限导致文件上传不了,这时候设置的异常捕捉未能正常报错导致前端页面一直在转圈,实际上后端早已校验完成。

全局异常类设置的捕捉

        添加了@ControllerAdvice以及@RestControllerAdvice

@ExceptionHandler(MaxUploadSizeExceededException.class)
@ResponseBody
public AjaxResponse handleMaxUploadSizeExceededException(MaxUploadSizeExceededException e) {log.error("文件上传大小超出限制", e);return AjaxResponse.error("上传文件过大,超出了允许的最大值");
}

文件上传的Controller方法上也添加了异常捕捉块

try{........//文件处理
catch (org.springframework.web.multipart.MaxUploadSizeExceededException e) {return AjaxResponse.error("上传文件过大,超出了允许的最大值: " + e.getMessage());}
}

依旧报错没有正常返回报错信息

查看报错的堆栈信息了解问题原因

        1.异常发生的时机:从异常堆栈可以看出,MaxUploadSizeExceededException是在Spring MVC的请求处理早期阶段抛出的,具体是在StandardMultipartHttpServletRequest.parseRequest方法中,这发生在请求到达控制器方法之前。  

        2.  异常处理流程:异常堆栈显示,异常是在Tomcat的Request.parseParts方法中首先被触发的,然后被包装成IllegalStateException,最终被Spring包MaxUploadSizeExceededException。 

        3.  过滤器链干扰:从堆栈信息可以看到,请求经过了多个过滤器,包括Shiro的过滤器链(ProxiedFilterChain、AdviceFilter等)。这些过滤器可能在异常被抛出后就处理了请求,导致异常没有传递到DispatcherServlet的异常处理机制。

为什么全局异常处理器没有生效

        尽管类中正确定义了处理MaxUploadSizeExceededException的方法,但它没有生效的原因可能是: 1.  异常被提前处理:异常在到达DispatcherServlet的异常处理机制之前就被处理了。从堆栈信息看,异常是在StandardMultipartHttpServletRequest.parseRequest方法中被捕获并处理的。          2.  过滤器链中断:Shiro或其他过滤器可能捕获了异常并进行了处理,阻止了异常继续传播到全局异常处理器。  

        3.  请求解析阶段异常:文件上传大小超限的异常发生在请求解析阶段,这个阶段早于Spring MVC的异常处理机制被激活的时机

设置了Filter过滤器之后异常正常捕获但前端响应依旧不可行        

        尝试了在过滤器链中设置了最高的优先级去处理文件上传类型的错误,虽然异常是正常捕获了,但前端一直处在长时间的调用当中,并没有反馈调用信息,这个时候应该就不是SpringMVC的问题,可能发生在内置服务器或者是Http请求协议那一块,简便点说就是服务器在你捕获到这个异常之前就把这个问题处理了,虽然你后面依旧可以正常捕获,下面是打印的响应请求

2025-05-30 14:23:35.129  INFO 1792  --- [http-nio-8070-exec-5]  com.yys.config.exception.WebExceptionHandler.handleMaxUploadSizeExceededException(WebExceptionHandler.java:317) : Ajax response: AjaxResponse(isok=false, code=413, message=文件大小超过限制,最大允许123123, data=null)
2025-05-30 14:23:35.130  WARN 1792  --- [http-nio-8070-exec-5]  org.springframework.web.servlet.handler.AbstractHandlerExceptionResolver.logException(AbstractHandlerExceptionResolver.java:199) : Resolved [org.springframework.web.multipart.MaxUploadSizeExceededException: Maximum upload size exceeded; nested exception is java.lang.IllegalStateException: org.apache.tomcat.util.http.fileupload.impl.FileSizeLimitExceededException: The field file exceeds its maximum permitted size of 213909504 bytes.]

SpringBoot内置服务器Tomcat参数设置

        查阅一些资料之后,就可以发现Tomcat服务器对上传的文件是有要求限制的,这个配置是用来设置 Tomcat 允许接收的最大请求内容大小(包括请求头和文件内容)。当上传的文件大小超过这个值时,Tomcat 会直接丢弃超出部分并抛出异常。

设置 server.tomcat.max-swallow-size=-1 后,表示不限制请求体的大小,因此就能正确接收到超大的文件上传请求并返回相应的错误信息。

总结一下:

server.tomcat.max-swallow-size 默认情况下有一个限制,如果超出了这个限制,Tomcat 就会截断请求并返回错误。

通过设置为 -1,可以让 Tomcat 接受任意大小的请求体,确保上传过程不被中断。

 

http://www.dtcms.com/wzjs/195520.html

相关文章:

  • 引导交互 网站网站提交收录
  • 设计前沿的网站新闻发布系统
  • 襄阳做公司网站的软件公司seo建站优化推广
  • 做ppt设计师哪个网站好福州网站制作推广
  • 建设网站的建设费用包括什么科目福州百度seo代理
  • 网站建设考虑因素国内新闻大事
  • 网站开发公司规章制度日本樱花免m38vcom费vps
  • 网站上怎样做下载文档链接怎么创建网站教程
  • 网站 备案 多久拓客渠道有哪些
  • 做论坛网站江苏提升关键词排名收费
  • 信阳企业网站建设广州seo公司
  • 网上学编程的有哪些比较好的网站市场营销比较好写的论文题目
  • 企业文化网站建设最新seo视频教程
  • 库尔勒 网站建设深圳关键词首页排名
  • 副食店年报在哪个网站做网络推广费用
  • 好用的网站管理系统营销技巧培训
  • 网站建设中国十强网站买卖
  • b2b2c网店系统安新seo优化排名网站
  • wordpress实时获取qq资料seo岗位培训
  • 什么是网站建设收录情况
  • 网页设计怎么设计网站优化方案怎么写
  • 柯桥建设集团网站站长之家app
  • 不用vip也能看的黄台的app安徽seo人员
  • 如何做网站淘宝客网站建设优化哪家公司好
  • 网站开发字体百度做广告多少钱
  • 传奇手游网站大全9377网页制作软件推荐
  • 电子商务网站建设考卷成都短视频代运营
  • 武汉做网站seo黄页网络的推广软件
  • 北京seo排名外包seo长尾关键词
  • 网站商城建设要多少钱seo实战视频