想知道在实时环境中创建了多少个调度程序sevlet实例。当有多个请求进入应用程序时。如果spring创建单个对象,一个对象如何处理多个请求?当有这么多人访问网站,因为dispatcherServlet对象只有一个,所有请求都由同一个对象处理,不会造成任何性能问题吗?...请澄清它与概念混淆。或者建议我任何书来理解这个?
答案 0 :(得分:1)
正如M. Deinum所说,一个servlet来统治它们。我将尝试提供ServletDispatcher生命周期的一般描述。
当请求离开浏览器时,它会携带来自用户的信息。这将转发到 DispatcherServlet 前端控制器,它是将请求委托给其他组件的单个servlet 。
DispatcherServlet的工作是将请求发送到正确的控制器。由于应用程序可以有许多控制器 DispatcherServlets 通过查阅处理程序映射
DispatcherServlet 将请求发送到目的地控制器,
控制器打包模型数据,并标识显示输出的视图的名称,并将其发送回调度程序服务器。
DispatcherServlet 咨询 viewResolver ,并查找设置为显示数据的视图。
视图是通过使用模型数据生成输出来实现的(例如,通过JSP)。哪个被发回给客户。
这一切都发生得非常快(ms),这意味着可以在很短的时间内处理数千个请求。