我的springboot版本是2.0.2,我在controller类中创建了全局异常,如下所示:
@ExceptionHandler(Exception.class)
@ResponseBody
public Result handleException(Exception e, HttpSession session, HttpServletRequest request) {
LOGGER.error(e.getMessage());
一个解决方案是使用ControllerAdvise
。看一下下面的示例:
@ControllerAdvice
public class RestResponseEntityExceptionHandler extends ResponseEntityExceptionHandler {
@ExceptionHandler(value = {MaxUploadSizeExceededException.class})
protected ResponseEntity<String> handle(MaxUploadSizeExceededException ex) {
return ResponseEntity.ok(ex.getMessage());
}
}
或者,如果您有一个面向视图的控制器,可以让控制器从HandlerExceptionResolver
扩展。请看下面的例子:
@Controller
public class MyController implements HandlerExceptionResolver {
@RequestMapping(value = "/test", method = RequestMethod.POST)
public ModelAndView someMethod(@RequestParam("file") MultipartFile file) throws Exception{
return new ModelAndView("success");
}
@Override
public ModelAndView resolveException(HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse, Object o, Exception e) {
if (e instanceof MaxUploadSizeExceededException){
return new ModelAndView("sizeLimitExceeded");
}
return new ModelAndView("otherException");
}
}
我使用spring boot来开发我的系统,但是当我上传一个超过1MB的文件(使用多部分文件类型)时,我得到了这个例外。有人能给我解释一下吗?谢谢 java.lang.IllegalStateException:多部分Mime部分文件超过了org.eclipse.jetty.util.multipartInputStreamParser$Multipart.write(multipartInput
我正在用Spring Boot 2.1.3(使用标准的Tomcat嵌入式web服务器)开发一个endpoint来上载图像,我想限制多部分上载的大小。我可以通过以下属性轻松完成此操作: 但是我总是得到Spring无法捕获的500,因为Tomcat正在抛出异常并且请求无法到达我在RestController中的代码。 我的ExceptionHandler是这样的,但无论注释中出现什么异常,它显然都不起
我已将最大文件大小设置为 这是我的控制器: 这是一条错误消息 请求过大文件后的最终结果是加载页面问题。我没有得到任何其他错误的堆栈跟踪,所以我有点卡住了什么是实际发生的。哦,是的,我已经尝试了许多其他的解决方案,如注册过滤器,在错误控制器中处理异常。每次我都会以同样的结果服务器崩溃告终。 编辑2 我的异常处理类:
问题内容: 在C#.net中,有一个规定,要有两个不同的类文件,并使用关键字partial关键字使它们成为一个类。这有助于将[UI]和逻辑分开。当然,我们可以有两个类来实现这一类,一个用于UI,另一个用于逻辑。可以在Java中实现吗? 问题答案: 源文件分割 不能。Java源代码不能拆分为多个文件。 摘自Wikipedia文章 Java和C Sharp的比较 Sun Microsystems Ja
问题内容: 我可以将文件作为多部分发送到servlet吗?我正在制作表单并将其作为多部分提交,但是以某种方式我没有收到成功上传它的回复。我不希望刷新页面,因此它必须由ajax进行。 问题答案: 只有使用XHR API(以前称为“ XHR2”或“ XHR Level 2”的一部分,当前称为“ XHR高级功能”)才有可能。 有了这个HTML, 您可以按以下方式上传: XHR将注意适当的头和请求主体编码
有没有办法将文件对象转换为多部分文件?以便我可以将该对象发送到接受接口对象的方法?