1

我是Java和Spring的新手。我需要知道如何在Java和Spring中實現URL重寫。例如,在.NET環境下,我們可以通過下面的代碼實現這一點:Java和Spring中的URL重寫

的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和彈簧來實現。

  1. 在Java和Spring中我們可以有任何與此相關的東西嗎?
  2. 如果我們不能使用上面的代碼,我們如何才能實現URL重寫?

幫助,將不勝感激。

+0

可能重複的[春 - 重寫一個URL到另一個](http://stackoverflow.com/questions/2330630/spring-rewrite-one-url-to-another) – 2011-11-02 05:44:35

+0

@RC ..其實我需要要知道在JAVA和Spring中是否有類似上面的代碼的東西,或者我們如何實現。所以AFAIK這不是你提到的東西的重複。 – Unknown

+1

我會說接受的答案正是你想要的。 –

回答

2

我會推薦使用OCPsoft Rewrite(測試版)或OCPsoft PrettyFaces(最終版),它們是進行Java Servlet URL重寫的更新且更先進的工具。

如果您想利用現有配置並添加更強大的基於Java的重寫配置,則重寫還支持您的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}/")); 
    } 
} 
+2

林肯是OCPsoft的創始人,PrettyFaces和Rewrite的作者。你應該提到你的答案是有偏見的。 – Janning

+5

我的答案是有偏見的。 – Lincoln