【发布时间】:2017-03-27 10:56:43
【问题描述】:
我来自 .NET 世界。非常肯定地知道,在 Web 应用程序 (MVC) 中,
.NET: 为每个传入请求创建一个新的控制器实例 到网络服务器并呈现结果。
更多详情请见SO Question & Answer。
但是,我即将开发一个 Java Web 应用程序,听到这个消息我感到很震惊:
Java:一个控制器实例用于服务每个传入的 向网络服务器请求。 (单身人士)
我也用谷歌搜索得知上述说法是正确的。 Here
据我所知,MVC 是一个框架,独立于实现语言。
为什么会出现这种差异? 还是我错过了什么?
【问题讨论】:
-
@downvoters:请随时在投票中留下您的评论。
-
在 java 中,您可以使用 1 个控制器来处理多个请求,或者为每个请求制作单独的控制器。这完全取决于您。
-
你说得对,它是独立的。根据需要实现尽可能多的控制器是您的选择。我想你来自春天的一面。那里的框架已经实现,你必须使用它的结构。
-
@MarcelHöll 对此没有什么特别的春天。一个基本的
Servlet被重用,而不是每次都创建一个新实例。这意味着您不能在 servlet 中拥有状态,尽管听起来您也不能在 .NET 端拥有状态(但出于不同的原因)。 -
不确定这个问题有多大用处。您正在尝试比较 2 个具有完全不同实现细节的不同框架。您似乎还暗示(尽管我可能错了)MVC 作为一个概念似乎偏向于一种或另一种方式,这是不准确的。 (不过,不是我的反对票)
标签: java c# asp.net-mvc spring spring-mvc