构建Play 2.0 scala应用程序并将其部署到Tomcat上的ROOT上下文(根据我的理解,必须将Play应用程序部署到ROOT上下文)。在不同的上下文中,此服务器上还运行其他Web应用程序,但是根目录下的Play应用程序正在拦截每个请求,如果它是一条不理解的路由,则会失败。
有没有办法让Play忽略一个路由,以便让Tomcat继续将它分派给为该上下文注册的servlet?
感谢, 布赖恩
答案 0 :(得分:1)
事实上,您将接缝限制为与子上下文部署相关联。 play2 war插件does not support it until Play 2.1
有可能用tomcat conf欺骗你做你想做的事。我不知道tomcat足以给你正确的conf。
您仍然可以将Play应用程序部署为独立应用程序(未嵌入Tomcat),并使用前端HTTP服务器处理反向代理到正确的HTTP服务器。您必须为每个HTTP服务器定义要运行的正确端口,然后配置反向代理以根据域/端口将请求路由到正确的本地端口。我使用Nginx。也许Tomcat也能解决这个问题。
答案 1 :(得分:1)
实际上,事实证明这毕竟不是问题。我无意中没有在我测试的同一个tomcat服务器中部署其他应用程序(doh!)。一旦我正确部署它们,Play Framework应用程序就会获得正确绑定它的请求,其他应用程序获得在子上下文中绑定它们的请求。所以,误报。