控制器和Servlet有什么区别?

4

我不太清楚它们之间的主要区别以及Servlet和控制器的好处。


您可以使用Servlet来实现Web应用程序的MVC控制器。您还可以使用Servlet进行其他操作,并且可以使用不同的技术来实现MVC控制器。 - Thilo
1
这里有一个很好的解释,希望能帮到你:Servlet或控制器 - Angabo
还有https://dev59.com/t5Lea4cB1Zd3GeqP9Pg7。但请注意,这两个线程都来自2013年。不确定那里提到的技术栈是否是您今天想要详细学习的内容。 - Thilo
2个回答

4

我不知道它们之间的主要区别是什么。

控制器是一种架构模式的一部分。
Servlet是服务器(通常是Web容器)的一部分。

Servlet有哪些好处。

要回答这个问题,您需要了解它们最初的设计目的。基本上,它们的主要目的是以动态和独立的方式(与其他servlet无关)响应请求。

它们可以是有状态的。
它们可以管理会话。
它们可以与其他servlet通信。
它们易于移植。
Servlet的生命周期通常由容器管理,这使事情变得更加容易。

这个问题有点模糊,很难简洁地回答。最好先亲自体验一下两者的工作。在此之前,请详细阅读我下面提到的材料。

https://zh.wikipedia.org/wiki/Java_Servlet
(!) https://zh.wikipedia.org/wiki/MVC
何时使用Servlet或@Controller
(!) https://javaee.github.io/servlet-spec/downloads/servlet-4.0/servlet-4_0_FINAL.pdf(请参阅概述部分)


1

控制器是模型-视图-控制器模式的一部分:

模型-视图-控制器(通常称为MVC)是一种常用于开发用户界面的架构模式,将应用程序分成三个相互连接的部分。这样做是为了将信息的内部表示与呈现给用户和接受用户信息的方式分离开来。1 MVC设计模式将这些主要组件解耦,从而实现了高效的代码重用和并行开发。

Servlet可以是控制器

控制器充当视图和模型之间的接口。控制器拦截所有传入的请求。

模型代表应用程序的状态,即数据。它也可以具有业务逻辑。

不一定要是(可以执行“模型”/“视图”操作)。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接