java - JSP MVC 模型 2 架构问题

标签 java model-view-controller jsp architecture

我想开发一个 Web 应用程序,并且我可以访问此 API。在 API 中,有一些方法允许您通过上下文对象获取当前用户的 userId。也许我想得太多了,但我很困惑应该把 CurrentUserId() 方法放在哪里。该方法是否存在于 Controller 或模型中?我以为它会出现在模型中,但编写一个名为“getUserId”的属性来返回一个名为 getUserId().toString() 的字符串似乎是多余的。这是正常现象还是我想太多了还是正确的?我的同事告诉我将逻辑放入 View 中,但从我读过的所有内容来看,你从未将 java 代码或 scriplet 放入 View 中。我希望这是有道理的。

这也是我编写的一个以字符串形式返回 userId 的方法

protected String CurrentUserId(HttpServletRequest request)
{
    ContextManager ctxMgr = ContextManagerFactory.getInstance();
    Context ctx = ctxMgr.setContext(HttpServletRequest request);

    Id userID = ctx.getUserId();
    return userID.toString();
}

最佳答案

它应该转到 Controller

创建一个实用程序类,将此方法设置为静态

因为这里的 HttpServletRequest 是这个模型特定的(jsp,servlet),假设明天如果你想将相同的模型应用到你的桌面应用程序,那么它会失败,所以更好的地方是 Controller 。

关于java - JSP MVC 模型 2 架构问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5275706/

相关文章:

java - jsp无法连接数据库

java - 将应用设置为默认辅助 Intent

java - 如何在安卓上隐藏公钥?

java - bufferedreader 中的 Readline

asp.net - 将 - asp.net mvc 5 Web 应用程序 (Visual studio 2017) 转换为 .exe 安装文件

objective-c - 如何处理多个 Controller 类之间的 cocoa 通信

java - 使用 ActiveQuery 将 JSP 数据下载到 Excel 工作表会导致字符问题

java - Jetty 日志中的 SSL_NULL_WITH_NULL_NULL 密码套件

c# - 模拟 MVC Controller 中的内在依赖

java - 对象良好实践