gpt4 book ai didi

java - Java AppEngine 中的 URL 映射(用于类似 Python 的功能)

转载 作者:行者123 更新时间:2023-12-02 07:49:45 26 4
gpt4 key购买 nike

第一篇文章。

我是一名移动游戏开发人员,正在考虑将 Java 版本的 AppEngine 用于 Andriod 游戏的后端。由于游戏是用 Java 编写的,因此我认为应该使用 Java 版本的 AppEngine。我对 Python 版本的 AppEngine 有一些经验,但在迁移到 Java 版本的 AppEngine 时遇到了一些困难,特别是在 URL 映射方面。

在Python中,这是我习惯的:

def main():
application = webapp.WSGIApplication(
[('/', Main),
('/admin', Admin),
('/setScore', SetScore),
('/getScores', SetScores),
('/getUser', GetUser),
('/getCatelog', GetCatelog)
])

webapp.util.run_wsgi_app(application)

WSGI 应用程序会将不同的 URL 映射到不同的请求处理程序。我的问题是 Java 中是否有等效的功能,或者类似的方法是否被认为是 AppEngine 的 Java 化身中的最佳实践。

Java 是否有替代方法来实现此功能,或者 Java Servlet 如何处理此类事情是否有一些替代范例?

我知道 web.xml 文件使您有机会将 url 映射到servlet,但我不确定这是否是正确的方法。

在 AppEngine 的 Java 版本中映射 URL 以获得由不同 URL 触发的不同功能的标准方法是什么?

谢谢。

最佳答案

将 URL 映射到 web.xml 中的 servlet非常基本,但可能会为您完成工作。但是,根据您的实际意图,这可能会相当麻烦。

您正在编写“传统”Web 应用程序还是 REST 服务?然后,有无数的框架可供您选择。对于appengine我学会了使用轻量级框架,例如Stripes ,我已经取得了一些很好的经验。

对于 REST,我推荐 Jersey ,但还有其他选择。

因此,例如,在 Stripes 中,您可以使用 ActionBeans,然后将其映射到 URL。这是一个简单的例子:

@UrlBinding( "/main/score/{$event}" )
public class ScoreActionBean extends AbstractActionBean {
public Resolution getScores() {
...
}

public Resolution setScore() {
...
}
}

编辑:既然您正在编写游戏后端,您可能对 REST 服务更感兴趣?有some good tutorials在那里,但为了给您一个印象,它与上面的示例非常相似:

@Path("/hello")
public class Hello {

// This method is called if TEXT_PLAIN is request
@GET
@Produces(MediaType.TEXT_PLAIN)
public String sayPlainTextHello() {
return "Hello Jersey";
}

...
}

关于java - Java AppEngine 中的 URL 映射(用于类似 Python 的功能),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10360869/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com