java - 如何使用 MaxUploadSizeExceededException 避免堆栈跟踪 HTTP 状态 500 页面

标签 java spring servlets file-upload spring-mvc

我有这段代码(就像在 Spring 的引用中):

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

当用户尝试上传超过 100 kB 的文件时,将显示 HTTP 状态为 500 的服务器错误页面和堆栈跟踪。如何以最简单的方式避免这种情况?我想重定向到表单页面并显示我自己的错误消息。

最佳答案

假设它是 org.springframework.web.multipart.MaxUploadSizeExceededException , 只需定义一个 error-pageweb.xml如下:

<error-page>
    <exception-type>org.springframework.web.multipart.MaxUploadSizeExceededException</exception-type>
    <location>/upload-error.jsp</location>
</error-page>

请注意,这仅在您没有另一个 <error-page> 时有效其中包括ServletException或其父类(super class)之一。否则你必须引入一些异常过滤器来解包并重新抛出 ServletException 的根本原因。 .

关于java - 如何使用 MaxUploadSizeExceededException 避免堆栈跟踪 HTTP 状态 500 页面,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5090288/

相关文章:

java - 即使在重新启动\重新安装服务后,jsessionid 也会被保存和使用

java - Android 不同版本的android和屏幕有不同的风格

c# - 没有 Web 服务器的 WebSocket 服务器

java - 奇怪的(对我来说)循环错误

java.lang.ClassCastException : java. lang.Class 无法转换为 java.lang.reflect.ParameterizedType

java - Jetty/Tomcat 需要用 Java 构建网页吗?

java.lang.IllegalAccessError : tried to access field org. slf4j.impl.StaticLoggerBinder.SINGLETON 来自类 org.slf4j.LoggerFactory

java - Spring Security CSRF 训练模式

java - 如何在 REST 服务中进行分页?

此处应为 Java Servlet 接口(interface)