我有一个form.html,其中我将servlet定义为action参数。 servlet与模型交谈(简单的java类DAO访问数据库),如果没有找到记录,则抛出recordnotfound异常,这是从类委托给servlet的。 所以,我想将此异常(RecordNotFound)转发到web.xml中定义的jsp页面
任何想法如何实现这一点。
由于
答案 0 :(得分:0)
因此可以使用<error-page>
中的web.xml
条目。
<error-page>
<exception-type>com.exampl.RecordNotFound</exception-type>
<location>/WEB-INF/errorpages/recordnotfound.jsp</location>
</error-page>
你需要在你的servlet中做的只是让抛出的异常,或者如果它是一个被检查的异常,将它包装在ServletException
中。
} catch (RecordNotFound e) {
throw new ServletException(e);
}
请注意,java.lang.Throwable
或某些超类ServletException
上不应包含过于通用的错误页面,否则将使用instesd。容器将通过错误页面位置进行2次通过。第一个使用确切的异常,第二个如果异常实际上是ServletException
,则将使用包装的异常来定位错误页面。
答案 1 :(得分:-1)
使用
request.getRequestDispatcher("/yourJSPFile.jsp").forward(request,response);