Java 处理未映射的Rest路径

Java 处理未映射的Rest路径,java,regex,servlets,jax-rs,guice,Java,Regex,Servlets,Jax Rs,Guice,这是我当前的GUI配置: public class MyServletModule extends ServletModule { @Override protected void configureServlets() { bind(MyRest.class); serveRegex(".+(?<!\\.(html|css|png|jpg))") .with(HttpServletDispatcher.clas

这是我当前的GUI配置:

public class MyServletModule extends ServletModule {
    @Override
    protected void configureServlets() {
        bind(MyRest.class);
        serveRegex(".+(?<!\\.(html|css|png|jpg))")
               .with(HttpServletDispatcher.class);
    }
}

最简单的方法是注册过滤器来处理错误代码为200(OK)以外的响应。或者在web.xml中添加如下内容:

<error-page>
    <error-code>404</error-code>
    <location>/ErrorPage.jsp</location>
</error-page> 
WEB-INF/urlrewrite.xml

<filter>
    <filter-name>UrlRewriteFilter</filter-name>
    <filter-class>org.tuckey.web.filters.urlrewrite.UrlRewriteFilter</filter-class>
    <init-param>
        <param-name>confPath</param-name>
        <param-value>/WEB-INF/urlrewrite.xml</param-value>
    </init-param>
    <!--...omitted...-->
</filter>

<filter-mapping>
    <filter-name>UrlRewriteFilter</filter-name>
    <url-pattern>/*</url-pattern>
    <dispatcher>REQUEST</dispatcher>
    <dispatcher>FORWARD</dispatcher>
</filter-mapping>
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE urlrewrite
        PUBLIC "-//tuckey.org//DTD UrlRewrite 4.0//EN"
        "http://www.tuckey.org/res/dtds/urlrewrite4.0.dtd">
<urlrewrite>
    <rule match-type="regex">
        <from>^/$</from>
        <to type="redirect">/index.html</to>
    </rule>
</urlrewrite>

^/$
/index.html
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE urlrewrite
        PUBLIC "-//tuckey.org//DTD UrlRewrite 4.0//EN"
        "http://www.tuckey.org/res/dtds/urlrewrite4.0.dtd">
<urlrewrite>
    <rule match-type="regex">
        <from>^/$</from>
        <to type="redirect">/index.html</to>
    </rule>
</urlrewrite>