404 ページをカスタマイズする場合、
一旦自分のコントローラーでうける必要がある。
web.xml
... <servlet> <servlet-name>Jersey Web Application</servlet-name> <servlet-class>com.sun.jersey.spi.container.servlet.ServletContainer</servlet-class> <init-param> <param-name>com.sun.jersey.config.property.packages</param-name> <param-value>com.sample.hoge</param-value> </init-param> <load-on-startup>1</load-on-startup> </servlet> <servlet-mapping> <servlet-name>Jersey Web Application</servlet-name> <url-pattern>/api/*</url-pattern> </servlet-mapping> <!-- default のマッピングを追加する --> <servlet> <servlet-name>Default</servlet-name> <servlet-class>com.sample.piyo.MyServlet</servlet-class> <load-on-startup>1</load-on-startup> </servlet> <servlet-mapping> <servlet-name>Default</servlet-name> <url-pattern>/</url-pattern> </servlet-mapping> ...
com.sample.piyo.MyServlet.java
package com.sample.piyo; import java.io.IOException; import javax.servlet.ServletException; import javax.servlet.http.*; public class MyServlet extends HttpServlet { public void doGet (HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { response.setContentType ("text/html; charset=UTF-8"); response.setStatus (HttpServletResponse.SC_NOT_FOUND); request.getRequestDispatcher("/WEB-INF/web/404.jsp").include(request, response); } }