Tomcat基本URL重定向

Nat*_*ath 72 html tomcat

使用tomcat,我如何获得http://www.mydomain.com重定向到http://www.mydomain.com/somethingelse/index.jsp的请求?我甚至没有设法从http://mydomain.com显示index.html .

Vir*_*tel 102

您可以这样做:如果您的tomcat安装是默认的,并且您没有进行任何更改,那么默认的战争将是ROOT.war.因此,每当你会打电话http://yourserver.example.com/,它会调用index.htmlindex.jsp默认的WAR文件.在您的webapp/ROOT文件夹中进行以下更改,以将请求重定向到http://yourserver.example.com/somewhere/else:

  1. webapp/ROOT/WEB-INF/web.xml,除去任何servlet映射与路径/index.html/index.jsp,和保存.

  2. 删除webapp/ROOT/index.html,如果存在.

  3. webapp/ROOT/index.jsp使用以下内容创建文件:

    <% response.sendRedirect("/some/where"); %>
    
    Run Code Online (Sandbox Code Playgroud)

    或者如果你想直接到另一台服务器,

    <% response.sendRedirect("http://otherserver.example.com/some/where"); %>
    
    Run Code Online (Sandbox Code Playgroud)

而已.

  • sendRedirect命令就是我所需要的.index.jsp只包含:<%response.sendRedirect("/ jasperserver"); %> (11认同)
  • 只需要步骤#2.在Tomcat 7上测试过. (7认同)
  • 不要忘记在任何jsp scriptlet之前添加<%和%> (3认同)

fly*_*ire 24

将您的webapp命名为WAR"ROOT.war"或包含文件夹"ROOT"

  • 当在本地工作然后将应用程序部署到多个服务器时,这种方法会导致很多问题。特别是如果您有多个项目要部署在不同的服务器上,并且每个项目都可以在自己的服务器上进行 ROOT。 (2认同)

Chs*_*y76 17

看看UrlRewriteFilter,它本质上是Apache的mod_rewrite的基于java的实现.

您需要将其解压缩到ROOTTomcat webapps文件夹下的文件夹中; 然后,您可以将重定向配置到其WEB-INF/urlrewrite.xml配置文件中的任何其他上下文.


oba*_*aid 8

经测试和工作程序:

转到文件路径 ..\apache-tomcat-7.0.x\webapps\ROOT\index.jsp

删除整个内容或在index.jsp顶部声明下面的代码行

<% response.sendRedirect("http://yourRedirectionURL"); %>

请注意,在jsp文件中,您需要以<%开头并以%>结束


Kev*_*vin 7

我做了什么:

我在ROOT/index.jsp中添加了以下行

 <meta http-equiv="refresh" content="0;url=/somethingelse/index.jsp"/>
Run Code Online (Sandbox Code Playgroud)

  • 这可能会搞砸您的分析数据,因为推介会丢失. (2认同)

pro*_*dll 5

在 Tomcat 8 中,您还可以使用重写阀

RewriteCond %{REQUEST_URI} ^/$
RewriteRule ^/(.*)$         /somethingelse/index.jsp
Run Code Online (Sandbox Code Playgroud)

要设置重写阀,请参见此处:

http://tonyjunkes.com/blog/a-brief-look-at-the-rewrite-valve-in-tomcat-8/