gpt4 book ai didi

java - 在我的服务层中传递 http servlet 响应是一个不好的做法吗?

转载 作者:行者123 更新时间:2023-12-02 00:34:10 25 4
gpt4 key购买 nike

在我的authenticationService的登录方法中,我需要创建一个cookie并在cookie中设置 session ID。

将请求对象传递到 Controller 操作内的服务层是一种不好的做法吗?

public void login(String email, String password) {

User user = someService.validate(email, password);

if(user != null) {
// create session
// set cookie ????
}

}

我的 Controller 操作将调用上面的登录方法,但我很困惑应该在哪里为 cookie 创建和设置 session ID。

对我来说,将其放在服务层中是有意义的,但随后我的登录方法会紧密绑定(bind)到 Web 应用程序。

我这样做对吗?

最佳答案

是(“不好的做法”),否(“正确行事”)。

服务层应该与任何与网络有关的东西完全解耦。 Web 层应该单独负责管理 Web 层工件,包括 cookie。

这样,即使不存在 cookie,也可以使用该服务,例如桌面或 CLI 应用程序。它还允许在完全不考虑 Web 层的情况下测试服务,这是有道理的——服务不关心身份验证如何发生,或者之后发生什么——只关心使用用户名和密码有效。

关于java - 在我的服务层中传递 http servlet 响应是一个不好的做法吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9222126/

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