2012-11-28 15 views
0

我正在使用backbone.js在我的web應用程序上執行客戶端路由。在Tomcat和Jersey中提供相同靜態頁面的多個URL?

爲了使這個客戶端路由工作,我需要所有的URL返回相同的html頁面,然後在JavaScript頁面上完成路由。

我爲我的靜態頁面和servlet使用Jersey + Tomcat。我如何讓所有網址在同一頁面上投放? (即所有匹配MyWebbApp/App/**的URL都可以提供我的index.html頁面)。

在此先感謝!

編輯:

我會用什麼樣的正則表達式? 我想 MyWebApp /應用 MyWebApp /應用/ MyWebApp /應用/其他 MyWebApp /應用/其它/其它...

都被包括在內。我試圖做到這一點,但出於某種原因我無法得到1個正則表達式來覆蓋所有這些情況。我得到的最接近是:

@Path( 「MyWebApp /應用/ {some_var_name_i_never_use:*}」)

但這並沒有覆蓋MyWebApp /應用程序或MyWebApp /應用/箱。

回答

0

你可以使用一個servlet和所有頁面重定向到一個特定的頁面

你可以有一個正則表達式來獲取需要重定向

response.sendRedirect("page"); 
+0

我會用什麼正則表達式? 我想 MyWebApp /應用 MyWebApp /應用/ MyWebApp /應用/其他 MyWebApp /應用/其它/其它... 都被包括在內。我試圖做到這一點,但出於某種原因我無法得到1個正則表達式來覆蓋所有這些情況。我得到的最接近的是: @Path(「MyWebApp/App/{some_var_name_i_never_use:。*}」) – klyngbaek

+0

url.startsWith(「MyWebApp/App /」); –

+0

那不就是返回一個布爾值嗎? Jersey使用裏面的正則表達式接受@Path()註釋。 – klyngbaek

1

你可以使用新澤西州的過濾器中的所有頁面靜態內容。這是關於它的blog post。您只需要定義另一個過濾器來處理將所有內容映射到index.html頁面。請注意,在Jersey 2.0中,參數名稱已更改爲jersey.config.servlet.filter.staticContentRegex

相關問題