JavaWeb 开发进阶 SpringMVC 的 DispatcherServlet
本书作者:测试开发刚哥,文章版权归个人所有,未经授权请勿转载。 DispatcherServlet 简介 DispatcherServlet是 Spring MVC 框架的核心组件,充当前端控制器(Front Controller)的角色。它负责接收所有的 HTTP 请求,并将它们分发给适当的处理器(控制器)。DispatcherServlet是整个 Spring MVC 应用程序的入口点,管理请求的整个生命周期。 通过源码查看 DispatcherServlet 定义: public class DispatcherServlet extends FrameworkServlet public abstract class FrameworkServlet extends HttpServletBean implements ApplicationContextAware public abstract class HttpServletBean extends HttpServlet implements EnvironmentCapable, EnvironmentAware DispatcherServlet 继承了 FrameworkServlet,继承了 HttpServletBean,继承了 HttpServlet。HttpServlet 来自jakarta.servlet.http.HttpServlet,也就是新版 Servlet: <dependency> <groupId>jakarta.servlet</groupId> <artifactId>jakarta.servlet-api</artifactId> <version>6.1.0</version> <scope>provided</scope> </dependency> 果然,Spring MVC 是基于 Servlet 的! DispatcherServlet 注册 DispatcherServlet 是个 Servlet,需要注册后才能使用。有 3 种注册方式:web.xml、Spring MVC、Spring Boot ① web.xml <web-app> <listener> <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class> </listener> <context-param> <param-name>contextConfigLocation</param-name> <param-value>/WEB-INF/app-context.xml</param-value> </context-param> <servlet> <servlet-name>app</servlet-name> <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> <init-param> <param-name>contextConfigLocation</param-name> <param-value></param-value> </init-param> <load-on-startup>1</load-on-startup> </servlet> <servlet-mapping> <servlet-name>app</servlet-name> <url-pattern>/app/*</url-pattern> </servlet-mapping> </web-app> ② Spring MVC ...