是否可以将Java Servlet部署到GAE?

是否可以将Java Servlet部署到GAE,或者服务器是否需要托管在其他地方?

简短回答: 是的

答案稍长一点:

App Engine使用Jetty servlet容器来托管应用程序并支持Java Servlet API 2.4版。 请记住,虽然有很多限制你必须尊重( 来源 ):

  • App Engine运行Java 6的一个版本,但不提供所有Java类,例如Swing,并且不支持大多数AWT类。
  • 您不能使用使用线程的线程或框架。
  • 您可能无法写入文件系统。
  • 您只能阅读属于您的应用程序的文件。
  • 某些“java.lang.System”操作,例如gc()或exit()将不执行任何操作。
  • 你不能调用JNI代码。
  • 您可以对自己的类和标准Java类进行reflection,但不能使用reflection来访问应用程序之外的其他类。
  • servlet必须在30秒内回复,否则将抛出com.google.apphosting.api.DeadlineExceededException
  • 有关列入白名单的Java类,请参见此处 。

请务必阅读The Sandbox上的内容 ,了解哪些内容有效,哪些内容无效。

可以将基本servlet部署到GAE,但GAE还需要做其他事情才能接受它。

强烈建议您对该主题进行快速网络搜索。 您会发现有大量资源可供使用,包括GAE站点本身的文档。