Перезапись URL в Java и Spring - PullRequest
       54

Перезапись URL в Java и Spring

1 голос
/ 02 ноября 2011

Я новичок в Java и Spring. Мне нужно знать, как мы можем добиться перезаписи URL в Java и Spring. Например, в среде .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?

Помощь будет оценена.

Ответы [ 3 ]

2 голосов
/ 23 ноября 2011

Я бы порекомендовал использовать OCPsoft Rewrite (бета) или OCPsoft PrettyFaces (финальная версия), которые являются более новыми и усовершенствованными инструментами для перезаписи URL сервлетов Java.

Rewrite также имеет поддержку вашей конфигурации, если вы хотите воспользоваться преимуществами вашей существующей конфигурации и добавить более мощную конфигурацию Rewrite на основе Java.

Очень стабильный и хорошо протестированный.

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}/"));
    }
}
2 голосов
/ 02 ноября 2011

Я понимаю вопрос таким образом, что вам нужно переписать URL на вашем сервере.

Посмотрите на Tuckey UrlRewriteFilter .

1 голос
/ 12 марта 2014

Если вы используете Spring> = 3, вы можете использовать @RequestMapping.См. официальную документацию

...