如何通过dispacther servlet处理请求?

时间:2016-01-07 11:55:55

标签: spring spring-mvc spring-webflow flow

想知道在实时环境中创建了多少个调度程序sevlet实例。当有多个请求进入应用程序时。如果spring创建单个对象,一个对象如何处理多个请求?当有这么多人访问网站,因为dispatcherServlet对象只有一个,所有请求都由同一个对象处理,不会造成任何性能问题吗?...请澄清它与概念混淆。或者建议我任何书来理解这个?

1 个答案:

答案 0 :(得分:1)

正如M. Deinum所说,一个servlet来统治它们。我将尝试提供ServletDispatcher生命周期的一般描述。

This

  1. 当请求离开浏览器时,它会携带来自用户的信息。这将转发到 DispatcherServlet 前端控制器,它是将请求委托给其他组件的单个servlet

  2. DispatcherServlet的工作是将请求发送到正确的控制器。由于应用程序可以有许多控制器 DispatcherServlets 通过查阅处理程序映射

  3. 获取帮助以决定将其发送给哪个控制器
  4. DispatcherServlet 将请求发送到目的地控制器

  5. 控制器打包模型数据,并标识显示输出的视图的名称,并将其发送回调度程序服务器。

  6. DispatcherServlet 咨询 viewResolver ,并查找设置为显示数据的视图。

  7. 视图是通过使用模型数据生成输出来实现的(例如,通过JSP)。哪个被发回给客户。

  8. 这一切都发生得非常快(ms),这意味着可以在很短的时间内处理数千个请求。