谷歌协议缓冲区和servlet(Google protocol buffers and servle

2019-07-30 14:07发布

我想知道我怎么可以使用谷歌的协议缓冲区接受请求并发送一个响应返回给客户端? 我正在考虑写一个servlet将采取的请求。 是思想的踪迹之后实现这个正确的方法:1.有.proto文件,该文件是为传入请求的消息定义。 2.写它接受该请求时,确实各种任务例如查询数据库,然后发送响应的servlet。 这是否会响应要求与组成该响应的各个领域单独.proto消息定义? 3.将客户端只调用我的servlet的doGet()方法,并传递请求,它应该然后返回作为protobuff对象的响应?

任何建议或意见将非常感谢。

Answer 1:

通常,你会希望有一个请求消息和响应消息,是的。 你也一定希望的方法名称来形容行动 - 这是肯定的内置PB服务是如何工作的。

该客户端将不能调用的doGet() - 它将使一个请求(可能是一个POST而不是GET)和你的servlet会接受它。

现在,理想情况下,你可以有一个大致的“ProtocolBufferServlet”,它可以通过交给他们关闭以实现相应的接口服务的服务请求。

我建议你看一下文档Protocol Buffer服务和生成的代码的Java服务获取更多信息。 你可以实现一个RpcChannel其工作过的servlet,或者让客户端直接进行HTTP发布。 你可能会使用某种依赖注入在服务器端告诉什么实现服务的servlet的。



Answer 2:

HI,

我有这样的启动和运行。 我最后发布一个HTTP请求作为后到我的servlet。 我能够采取请求协议缓冲器,读请求,做一些处理,然后发送回一个响应。 它实际上是非常简单的,一旦我得到它的工作。 我们使用了1个.proto文件来定义请求和响应消息的结构。



文章来源: Google protocol buffers and servlets