谷歌应用引擎:什么是SystemServiceServlet以及它与_ah目录的关系?

13
this问题类似,我对这个感兴趣,以及它与自动生成的web.xml中看到的<_ah/spi/>目录的关系是什么。
它们的目的是什么?为什么/何时需要?提前致谢!
2个回答

13
在幕后,每个对端点的请求(在/_ah/api路径中)都被映射到Endpoints服务提供商接口中的一个请求(在/_ah/spi路径中)。Servlet SystemServiceServlet 处理这些请求。如果没有这种映射,对Endpoints的请求将无法成功。
如果您希望在应用程序中使用Endpoints,则Google插件为Eclipse会自动添加映射。如果您不使用GPE,则需要手动添加映射。

我在这个Servlet和我们基于Cookie的身份验证(Vosao CMS)中遇到了问题。通过SystemServiceServlet进行的内部API“翻译”似乎会在不同用户之间记住Cookie,为我们创建了安全噩梦。我一直在反编译Endpoint类,试图理解它。对我来说,它似乎是一个假的REST接口,通过一些技巧(如SystemServiceServlet)隐藏了RCP。难道你不能从头开始构建一个真正的Rest接口吗? - ZiglioUK

7

我认为这与Google Endpoints API有关。我在我的项目上启用了它们,然后看到了同样的变化。


1
感谢@Bryce (+1) - 我会查看Endpoints API。我有几个后续问题:您知道为什么Google-Eclipse插件会自动包含这些结构吗?我是否需要它们才能拥有GAE应用程序?您如何在项目中“启用”它们? - Bantha Fodder

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接