听起来好像您正在编写适配器和适配器将调用的服务;你可以控制两者。接下来是几个设计问题。
首先,为什么你有一个 servlet?你打算在 servlet 中做什么而在适配器中无法做到?我不太清楚您的 servlet 在做什么,但是将一些数据保存在变量中并检索它是适配器本身可以做的事情。如果您需要为每个用户的会话保留数据,则适配器具有会话状态。此外,您可以在 Java 静态属性中保留“全局”数据。如果这是你想进一步探索的东西,你可能会问一些进一步的问题。
其次,假设 servlet 扮演着服务提供者的角色,那么不仅适配器会调用这个服务,其他客户端也可能也会调用;我们正在尝试创建通用服务。在这种情况下,使用 servlet 是合理的,但我们应该考虑使用适当的服务标准。两种可能性是基于 SOAP 的 Web 服务和 RESTful JSON 返回服务。使用此类标准的优点是任何客户端都可能拥有使用此类服务的标准库。
我将从考虑 REST 服务选项开始。您可能会担心编写一个 servlet 来管理 REST 服务需要大量工作,但实际上它非常简单。有很多教程,例如. 您所做的就是编写一个合适的带注释的 Java 类,就像这样。
@Path("/myResource")
public class SomeResource {
@POST
public String doPost2(FormURLEncodedProperties formData) {
...
}
}
这实际上比显式编写 servlet 的工作要少。唯一的开销是添加了@PATH 和@POST 注释。