2012-11-28 18 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

相关问题