【问题标题】:MVC - check if password was entered correctly [closed]MVC - 检查密码是否输入正确[关闭]
【发布时间】:2016-04-12 13:08:59
【问题描述】:

我是 MVC 新手,目前正在使用 servlet 为 Web 应用程序创建后端。我听说所有的处理都必须进入模型。

所以在我的模型中,我从数据库中获取数据并将其与从请求对象中获取的值进行比较。

现在我的一位小伙伴说,这个逻辑属于认证,因此必须进入控制器。

我现在很困惑,希望有人可以帮助我找出实际放置该功能的位置。模型或控制器。

提前干杯。

【问题讨论】:

标签: java servlets model-view-controller


【解决方案1】:

模型只是描述您的数据库相关实体的类。您不应使用此类来实现 CRUD 操作。您需要使用一个 DAO(一个仅对特定类执行 crud 操作的类)和一个使用此 DAO 查询 db 的控制器(您的 servlet)。

DAO 有类似的方法

public void save(entity entity);
public Entity loadById(Long id);
etc etc...

你必须这样想: 当您必须执行与 Bean 行为密切相关的操作时(例如计算 Bean 表示购物车的总价),您可以在模型类中实现此功能(方法)(始终由控制器调用)。 所有其他功能都应在管理的控制器中实现 功能逻辑。

必须区分模型类、控制器类、视图类和持久性类(用于 CRUDS 的 DAO)

【讨论】:

【解决方案2】:

模型是数据本身,在本例中是“用户”或“密码”类。

在我看来,正确的位置是 控制器:它检查数据是否正确(密码、出生日期等)。

通过这种方式,您可以使用不同的逻辑重用您的模型,而无需更改“用户”类。例如,您可以添加一个简单的 max-retry-attempts 系统并保留 User 类原始

但是如果你想阻止一个ajax调用,

【讨论】:

    猜你喜欢
    • 2017-07-24
    • 2023-03-17
    • 2015-12-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-04-29
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多