spring mvc中DispatcherServlet中init方法何时运行?
DispatcherServlet中init方法运行时刻分享
- 容器启动时(预加载): - 如果在`web.xml`或使用注解配置`<load-on-startup>`元素 且其值为非负整数, 则`DispatcherServlet` 在容器启动时就会被实例化和初始化 `init` 方法也会立即执行。 - 这种方式称为预加载 确保`DispatcherServlet` 在应用程序启动时就准备好处理请求。 - 首次请求时(延迟加载): - 默认情况下 `DispatcherServlet`是 在第一次接收到请求时被实例化和初始化的。 `init` 方法会在第一个请求到达时被调用。 - 这种方式称为延迟加载 可减少应用程序启动时间 但第一个请求到来时会有短暂的延迟。
配置示例
使用web.xml配置 <servlet> <servlet-name>dispatcher</servlet-name> <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> <load-on-startup>1</load-on-startup> <!-- 预加载 --> </servlet> <servlet-mapping> <servlet-name>dispatcher</servlet-name> <url-pattern>/</url-pattern> </servlet-mapping> 使用注解配置 @WebServlet(urlPatterns = "/*", loadOnStartup = 1) // 预加载 public class MyDispatcherServlet extends DispatcherServlet { // 自定义逻辑 }
版权声明
本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。