0

我有一个用户要求有一个网页,他们可以在其中对存储在数据库中的用户列表执行 CRUD 操作。它将托管在 Tomcat 上。
我将一个快速的 Servlet 放在一起,它从请求中获取 5 个参数,并使用这些数据在数据库中创建一个用户名。现在我想让用户能够输入用户名并单击一个按钮,如果该用户名存在于数据库中,那么它将被返回并填充页面以允许用户对数据执行一些编辑。我的问题是,我应该为这个数据查找服务创建一个新的 Servlet,还是以某种方式将所需的功能硬塞到在数据库中创建用户名的现有 servlet

4

3 回答 3

1

您应该遵循的 MVC 模式。

             JSP
              |
              |
            SERVLET
              |
              |
      ---------------------------------
      |       |         |              |
      |       |         |              |
SERVLET       |        DATABASE       JAVA LOGIC
             JSP
于 2012-12-17T10:38:38.930 回答
1

我不认为将这个功能放在同一个 servlet 中是不合理的。您在相同的资源 (db) 上进行操作,并且功能是相互关联的,因此将其放在相同的功能组件中是有意义的。

当您在做一些根本不同的事情时,例如在不同的数据库上操作,或者需要单独部署该功能(例如预订销售与浏览信息),或者您需要应用 servlet,我会开始将功能拉入不同的 servlet针对不同的组件进行不同的过滤。

要在下面回答您的问题,您需要以某种方式区分不同的操作。选项包括:

  1. 修改 URL 路径,例如http://example.com/entity/updatehttp://example.com/entity/delete。您可以检查 servlet 中的请求路径
  2. 提供操作参数,例如http://example.com/entity?operation=delete& ...

第一个示例可以通过提供映射到不同路径的不同 servlet 来轻松处理。但是,我认为提供这些 servlet 和映射的开销超过了简单检查请求路径的难度。

于 2012-12-17T09:25:29.073 回答
0

在这种情况下,MVC 设计模式最适合!有一个单独的Model类用于查找操作。在这种情况下,servlet 成为一个控制器。

于 2012-12-17T10:03:26.333 回答