Google应用程序引擎Java部署和Servlet/jsp关系

Google应用程序引擎Java部署和Servlet/jsp关系,java,google-app-engine,Java,Google App Engine,我正在尝试理解使用java在Google App Engine上部署应用程序。看起来如果使用java,它更像是一个扩展Javaservlet(HttpServlet)的web应用程序的部署。让我知道是否可以在不使用servlet或jsp的情况下部署java应用程序 我同意,除了标准的web应用程序部署之外,还需要GAE特定的配置,即appengine-web.xml。但我的问题主要是基于java的部署对servlet的需求 很抱歉提出了一个非常基本的问题,但所有的代码示例都指向servlet,但

我正在尝试理解使用java在Google App Engine上部署应用程序。看起来如果使用java,它更像是一个扩展Javaservlet(HttpServlet)的web应用程序的部署。让我知道是否可以在不使用servlet或jsp的情况下部署java应用程序

我同意,除了标准的web应用程序部署之外,还需要GAE特定的配置,即appengine-web.xml。但我的问题主要是基于java的部署对servlet的需求

很抱歉提出了一个非常基本的问题,但所有的代码示例都指向servlet,但在文档中并没有提到servlet

根据您在应用程序引擎中使用的工具(框架),您可以编写或不编写servlet和JSP。例如,如果您使用googleendpoints(),您将不会自己编写任何servlet:它们将由框架本身自动生成


另一方面,完全可以部署您自己的servlet和JSP,并相应地修改web.xml文件。

据我所知,您希望通过HTTP与服务器通信。servlet是JVM中支持该协议的最常用的方法,除非您想在底层实现该协议,比如在Netty中

Servlet是一组java接口,但不需要自己实现它们。大多数JavaWeb框架都为您提供了一些实现。我的意思是应该有人编写一次这个servlet,但很可能它是由框架作者多年前编写的,您甚至不需要考虑它的实现

例如,我不记得自2003年以来写过任何Servlet,但我在GAE上有很多可用的web应用程序。大多数都是基于Spring的,它有SpringDispatcherServlet,它为您处理所有HTTP请求/响应


所以答案是:是的,App Engine是基于Servlet的应用程序容器,您需要一个,但是您不太可能自己编写任何Servlet

那么您想要部署什么样的应用程序?我主要是开发需要一些服务器端脚本的Android应用程序。但不管是哪种应用程序,我很想了解GAE是否总是直接或间接地依赖于Servelt或JSP。根据下面来自3371862的回答,我确认servlet/jsp确实需要,尽管它是通过端点框架自动生成的。好的,这是否意味着它最终需要servlet和jsp,但是端点框架可以为我们编写它们?Java Google云端点(在App Engine上运行)“需要”servlet(而不是jsp)但它对您来说是透明的:如上所述,servlet是自动生成的。Android的另一个巨大优势(参考你上面的评论,你提到你正在构建一个Android应用程序)是它还自动生成Android客户端库组件,这将大大加快Android端的工作。谢谢,这很有意义。。你能告诉我常用的最佳框架的名称吗?谷歌和非谷歌推荐使用GAE谷歌端点,特别是如果你正在编写一个支持Android的应用程序。对于一般的webapps,我推荐springmvc作为最灵活的框架