HttpServletResponseで404エラーを送信する

例えばServletResponseの実装がHttpServletResponseの場合。
HttpServletReponseにキャストしてからsendErrorメソッドを利用します。

public void doFilter(ServletRequest request, ServletResponse response,
      FilterChain filterChain) throws IOException, ServletException {

    if ({エラーとなる条件}) {
      HttpServletResponse res = (HttpServletResponse) response;
      res.sendError(HttpServletResponse.SC_NOT_FOUND);
      return;
    }

   〜略〜

}

そうすると、次のようにweb.xmlでエラーコードに対して指定したhtmlファイルが呼び出されます。

    <error-page>
      <error-code>404</error-code>
      <location>/error/404.html</location>
    </error-page>