其他分享
首页 > 其他分享> > Spring Servlet规范进行错误处理

Spring Servlet规范进行错误处理

作者:互联网

我有一个Web应用程序(2.5 servlet规范),其中有一个spring dispatcherservlet处理/ error / *上发生的任何事情,还有一个错误页面配置为将其路由到/ error /
像这样的东西:

<servlet>
    <servlet-name>errorServlet</servlet-name>
    <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
    <load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
    <servlet-name>errorServlet</servlet-name>
    <url-pattern>/erorr/*</url-pattern>
</servlet-mapping>
<error-page>
    <exception-type>java.lang.Throwable</exception-type>
    <location>/erorr/</location>
</error-page>

和errorServlet-servelt.xml

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xmlns:context="http://www.springframework.org/schema/context"
       xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
       http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd">
    <context:annotation-config/>
    <context:component-scan base-package="some.base.package"/>
    <bean id="simpleUrlController" class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping">
        <property name="mappings">
            <props>
                <prop key="/*">errorController</prop>
            </props>
        </property>
    </bean>
    <bean id="errorController" class="ErrorController">
        <property name="formView" value="formView"/>
        <property name="commandClass" value="Error"/>
        <property name="commandName" value="errorNAMe"/>
    </bean>
    <bean id="viewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver">
        <property name="prefix" value="/WEB-INF/jsp/"/>
        <property name="suffix" value=".jsp"/>
    </bean>

</beans>

我需要帮助的地方:

>这是否是解决错误的最佳方法.
>我知道有一个SimpleMappingExceptionResolver,可以在配置中声明…但是我在某处读到该类很好,只有来自spring控制器的异常好,而没有其他异常.

解决方法:

>我在当前正在处理的应用程序中使用了这种方法,并且看起来工作正常.
>是的,但这并不重要.如果是Web应用程序,则抛出的任何异常最终都会冒泡到顶部,应该是Spring控制器.然后,它将根据您的配置从那里进行处理,无论是转发到另一个页面还是让您的应用程序爆炸.

这是一个很好的基础教程.还有其他,如果你用谷歌搜索:http://developingdeveloper.wordpress.com/2008/03/09/handling-exceptions-in-spring-mvc-part-2/

编辑:您不仅可以重定向到错误页面,还可以将这些异常放入数据库中,因此您可以列出发生的最常见异常.乔尔(Joel)和杰夫(Jeff)提到他们是为StackOverflow这样做的,该列表已成为其“错误修复”列表的一部分.

标签:error-reporting,error-handling,spring,spring-mvc
来源: https://codeday.me/bug/20191024/1920582.html