【问题标题】:error page working fine in tomcat but not in weblogic错误页面在tomcat中工作正常,但在weblogic中却不行
【发布时间】:2014-07-23 06:19:55
【问题描述】:

我在 Tomcat 6.0 服务器本地开发了我的应用程序,每当我遇到异常时, 它成功调用错误页面(jsp)并显示异常。但是我面临的问题是,当相同的应用程序部署在 Web 逻辑服务器中并且每当用户遇到异常(运行时异常)时,它不会被重定向到错误页面而是我收到 404 错误 框架——Spring MVC 错误页面位置 - /WEB-INF/jsp/error.jsp

任何帮助将不胜感激。PFB my web.xml sn-p

    <error-page>
     <exception-type>java.lang.Throwable</exception-type>
     <location>/WEB-INF/jsp/error.jsp</location>
    </error-page>

     <error-page>
      <exception-type>java.lang.RuntimeException</exception-type>
      <location>/WEB-INF/jsp/error.jsp</location>
    </error-page>

【问题讨论】:

  • 听起来好像找不到JSP。您确定它包含在您的部署的类路径中吗?
  • yes 听起来好像在 weblogic 中它无法找到错误 jsp。现在我正在尝试使用 SimpleMappingExceptionResolver 来实现这一点(而不是依赖于 servlet Container)。会让你知道结果

标签: spring-mvc error-handling weblogic runtime-error custom-error-pages


【解决方案1】:

我通过将整个逻辑从 servlet 容器移动到 Spring 容器得到了解决方案。

需要在springservlet.xml中配置CustomSimpleMappingExceptionResolver。配置应如下所示完成

<bean
    class="com.****.CustomSimpleMappingExceptionResolver"
        p:warnLogCategory="org.springframework.web.servlet.DispatcherServlet">
        <property name="defaultErrorView" value="error" />
        <property name="exceptionMappings">
        <props>
            <prop key=".MissingServletRequestParameterException">error</prop>
            </props>
    </property>
</bean>

然后

  1. 定义error.jsp
  2. 创建您的自定义异常类并在 SimpleMappingExceptionResolver 配置类中进行相同的配置。
  3. 在 SimpleMappingExceptionResolver 中覆盖 doResolveException

    @覆盖 受保护的 ModelAndView doResolveException(HttpServletRequest 请求, HttpServletResponse 响应、对象处理程序、异常 ex) {

    -------------------some code----------    
    

    返回 "";

    }

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-05-08
    • 2017-08-16
    • 2020-05-25
    • 1970-01-01
    • 1970-01-01
    • 2021-01-28
    • 1970-01-01
    相关资源
    最近更新 更多