Spring 的Web层中有4个模块,分别为spring-web, spring-webmvc, spring-websocket 和 spring-webmvc-portlet。spring-web 提供了核心的Web相关功能的集成,比如IoC容器的初始化、Web应用上下文的初始化、多部文件上传功能、HTTP客户端、Servlet 过滤器、远程调用、用于集成其它 web 框架及技术的基础结构。spring-webmvc 也即 Web-Servlet 模块,它是 Spring MVC 和 REST 的实现(不过奇怪的是,@RestController、@ResponseBody等注解却是放在spring-web模块中的!),并清晰地分离了 domain model 与 web form 的代码。如果不使用 Spring MVC,只是想使用其它 Spring 支持的 web 相关技术的优势,那么只需依赖 spring-web 即可。spring-webmvc-portlet 模块即 Web-Portlet 模块,它提供用于portlet环境的 MVC 实现,并具有与 spring-webmvc 模块相同的功能。如其名称所示,是Spring对websocket的实现。

简单了解Spring Web相关模块运行原理