在这张图片中(我从 这里 得到的), HTTP 请求向 Dispatcher Servlet 发送了一些东西。
我的问题是 Dispatcher Servlet 做什么?
是否类似于从网页中获取信息并将其扔给控制器?
DispatcherServlet 的工作是获取传入的 URI 并找到处理程序(通常是 Controller 类上的方法)和视图(通常是 JSP)的正确组合,它们组合起来形成应该在该位置找到的页面或资源。
我可能有
/WEB-INF/jsp/pages/Home.jsp
@RequestMapping(value="/pages/Home.html")
private ModelMap buildHome() { return somestuff; }
Dispatcher servlet 是“知道”在浏览器请求页面时调用该方法并将其结果与匹配的 JSP 文件组合以生成 html 文档的位。
它如何实现这一点因配置和 Spring 版本而异。
也没有理由最终结果必须是网页。它可以做同样的事情来定位 RMI 端点、处理 SOAP 请求,以及任何可以进入 servlet 的事情。