java - 重定向对 Tomcat 6.0 中子目录的所有请求

标签 java jsp url tomcat redirect

我在桌面上运行本地 Tomcat 6.0 服务器。

我正在尝试重定向所有与 http://localhost:8080/RedirectDirectory/abc/efg/morejunk 匹配的请求到单个 JSP 页面。

在我的 RedirectDirectory 项目的 web.xml 中有

<servlet>
<servlet-name>IOPRedirect</servlet-name>
<jsp-file>/RedirectDirectory/filetree.jsp</jsp-file>
</servlet>

<servlet-mapping>
<servlet-name>IOPRedirect</servlet-name>
<url-pattern>/RedirectDirectory/*</url-pattern>
</servlet-mapping>

无论目录是否存在,我都非常希望它转到那个 JSP。

我以为这是怎么做的,但我猜不是。

有什么想法吗?

谢谢

最佳答案

我通常在解决此类问题时使用 UrlRewriteFilter。

  1. > Download并将 urlrewrite.jar 添加到您的类路径 (WEB-INF/lib)
  2. 将以下内容添加到您的 WEB-INF/web.xml:

    <filter>
        <filter-name>UrlRewriteFilter</filter-name>
        <filter-class>org.tuckey.web.filters.urlrewrite.UrlRewriteFilter</filter-class>
    </filter>
    <filter-mapping>
        <filter-name>UrlRewriteFilter</filter-name>
        <url-pattern>/*</url-pattern>
    </filter-mapping>

  1. 编辑 WEB-INF/urlrewrite.xml 并添加以下内容:

    <rule>
        <from>^/RedirectDirectory/(.*)$</from>
        <to>/RedirectDirectory/filetree.jsp</to>
    </rule>

在您的项目中使用 UrlRewriteFilter 可以非常方便地解决许多常见问题,例如设置缓存 header 、规范主机名、在某些 url 上强制使用 https 等。

关于java - 重定向对 Tomcat 6.0 中子目录的所有请求,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1121858/

相关文章:

Java 小程序尝试获取超出存档列表的内容

java - @ExceptionHandler 不处理抛出的异常

java - 无需重新启动服务器即可获取更新的属性文件标签 java

facebook - 测试以确定 Facebook 链接是粉丝页面还是个人页面

激活时不调用 iOS handleOpenURL??? iOS 5.1(这不是 3.2 的问题)

java - 构造函数 Category(String, String) 不可见 - 使用 lombok 为某些字段创建构造函数?

java - java 打开一定数量的文件

java - 从基本链接获取 URL 层次结构

Scala 的 Java 监听器接口(interface)

java - 如何在 Selenium 中设置 Chrome 的设置能力?