gpt4 book ai didi

java - 在真实的基于 Java 的企业应用程序中,应该在哪一层进行验证?

转载 作者:行者123 更新时间:2023-12-01 16:51:53 27 4
gpt4 key购买 nike

我曾在一些主要基于 Spring Framework 和 Java EE(主要是 EJB)的企业应用程序中担任开发人员;但不是所有层( View 层是我至少研究过的层)

考虑多层应用程序(客户端层、业务层、数据层等)数据验证应该在哪一层进行?

我听说过 Bean 验证 API 即:JSR 303;但验证是在 Bean 中执行的,即服务器端(如果我理解正确的话)。

那么在实际应用中验证应该在哪里进行?是否应该在客户端层本身进行一些验证(例如,如果使用的 View 技术是 JSP,那么验证是否应该在 JSP 中进行)?如果是这样,那么 JSR 303 的优势是什么。

由于验证而拒绝从客户端到服务器的数据传输也是没有意义的,我不清楚验证的正确方法是什么。

非常感谢任何理解这一点的解释。

最佳答案

通常,应用程序中有 3 层。模型层、控制层和 View 层。每层都有其验证逻辑。

View 层检查用户输入数据的有效性。这种检查有助于用户体验和服务器性能,因为它可以及早指出用户的无效输入,避免对服务器接口(interface)的无效调用。 View 层的检查主要是对用户的输入进行检查(例如:电子邮件格式检查、密码格式检查等)。

控制层检查也是必要的。该检查可以避免非法调用服务器接口(interface)。例如,http请求参数中缺少登录 token 或登录 token 无效。

模型层检查主要是数据验证。 View 层检查用户的电子邮件格式,模型层将检查电子邮件是否在应用程序中注册(可能是用户数据存储在数据库或缓存中)。

总而言之,每一层都有自己的职责,并且应该分别进行数据验证。

关于java - 在真实的基于 Java 的企业应用程序中,应该在哪一层进行验证?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38586438/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com