繁体   English   中英

Java和Spring中的URL重写

[英]URL Rewriting in Java and Spring

我是Java和spring的新手。我需要知道如何在Java和Spring中实现URL重写。 例如,在.NET环境中,我们可以使用以下代码来实现此目的:

Global.asax.cs:

protected void Application_BeginRequest(object sender, EventArgs e) {
  try {
    string fullOrigionalpath = Request.Url.ToString();
    if (fullOrigionalpath.Contains("/Home-Page")) {
      Context.RewritePath("~/home.aspx"); return;
    }
  }
}

同样,我们需要在Java和Spring中实现。

  1. 在Java和Spring中,我们可以与此相关吗?
  2. 如果我们不能使用上面的代码,如何实现URL重写?

帮助将不胜感激。

我理解问题的方式是,您需要在服务器中重写URL。

看看tuckey UrlRewriteFilter

我建议使用OCPsoft Rewrite (测试版)或OCPsoft PrettyFaces (最终版),它们是用于Java Servlet URL重写的更新,更进化的工具。

如果您想利用现有配置并添加更强大的基于Java的Rewrite配置,则Rewrite还支持您的tuckey配置。

它非常稳定且经过良好测试。

package com.example;
public class ExampleConfigurationProvider extends HttpConfigurationProvider
{
   @Override
   public int priority()
   {
     return 10;
   }

   @Override
   public Configuration getConfiguration(final ServletContext context)
   {
     return ConfigurationBuilder.begin()
       .defineRule()
         .when(Direction.isInbound().and(Path.matches("/some/{page}/.*/")))
         .perform(Redirect.permanent("/new-{page}/"));
    }
}

如果您使用的是Spring> = 3,则可以使用@RequestMapping。 参阅官方文件

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM