什麼是雙方的這種正確的配置「並存」:映射的servlet根
http://localhost:8888/index.html
http://localhost:8888/{some_path_value}
的第一個項目將返回一個HTML頁面,並且還將containt HREF將要訪問的資源像/public/images/bg.png
等
現在第二個項目是在同一個根上下文廣告映射,供應頁面的一個(的index.html,PNG,JPG,CSS,JS等)
所以這個問題我一個RESTful API我現在面臨的是,當我配置Rest API servlet映射像th一樣是:
<servlet>
<servlet-name>Resteasy</servlet-name>
<servlet-class>
org.jboss.resteasy.plugins.server.servlet.HttpServletDispatcher
</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>Resteasy</servlet-name>
<url-pattern>/*</url-pattern>
</servlet-mapping>
的REST API的作品,但它有效地消除了訪問喜歡的index.html,CSS,JS等呈現一個「主頁」的靜態資源。
但是,如果我將映射更改爲諸如/api/*
之類的東西,現在可以訪問GWT應用,但Rest API的PATH不再是根。
那麼在我的應用程序中可能會出現什麼問題?我真的需要讓兩者在同一條路徑上共存。我最初的想法是做某種過濾器,但可能有更簡單更合適的解決方案。
更新:
我的應用程序的吉斯模塊:
public class MyModule implements Module
{
public void configure(final Binder binder)
{
binder.bind(MyResource.class);
}
}
的web.xml
<context-param>
<param-name>resteasy.guice.modules</param-name>
<param-value>org.jboss.errai.ui.demo.server.MyModule</param-value>
</context-param>
<listener>
<listener-class>
org.jboss.resteasy.plugins.guice.GuiceResteasyBootstrapServletContextListener
</listener-class>
</listener>
<context-param>
<param-name>resteasy.servlet.mapping.prefix</param-name>
<param-value>/api</param-value>
</context-param>
<servlet>
<servlet-name>Resteasy</servlet-name>
<servlet-class>
org.jboss.resteasy.plugins.server.servlet.HttpServletDispatcher
</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>Resteasy</servlet-name>
<url-pattern>/*</url-pattern>
</servlet-mapping>
感謝馬諾洛對於這樣的想法,我實際使用吉斯,也許我可以試試 – xybrek 2013-04-07 11:32:32
當然,如果你有REG-EXP的問題,我可以舉個手。 – 2013-04-07 11:34:50
當然,我已經更新我的問題,我已經到目前爲止的Guice配置 – xybrek 2013-04-07 11:45:43