【发布时间】:2016-12-27 19:24:35
【问题描述】:
我正在编写我的第一个 servlet(学术目的),但我不清楚使用 HTML 客户端进行接口的正确方法是什么。
如果客户端请求有多种类型,例如“我想要咖啡”、“我想要披萨”等(实际上我认为我只需要登录和数据发送/请求)但是,servlet 必须如何处理这些?考虑到一个 servlet 只有一个 get/post 方法。
A) 一个 servlet (serverAddr/myApp/myServlet),它使用参数检查接收到的请求并调用正确的函数(使用开关。听起来不太好)。
B) 每个请求都有特定用途的 servlet,例如“doCoffee”(serverAddr/myApp/coffee)、“doPizza”(serverAddr/myApp/pizza)等。 在这种情况下,我有许多构成 Web 应用程序的 servlet。
我希望已经解释了我的问题,谢谢。
【问题讨论】:
-
视情况而定。如果它实际上是关于咖啡和披萨,那么 A 会更有意义。
-
重要的不是 servlet 的数量。重要的是要有一个干净的 HTTP API(因此是干净的 URL),并有干净的、可维护的代码,其中两个不相关的用例不在同一个类中实现。如果只使用 servlet,两个 servlet 可能会更好。如果您设计或使用 Spring MVC 等基于动作的框架,那么基于 URL 分派到动作类的单个 servlet 具有许多优势。
-
谢谢,很有帮助。