spring mvc中DispatcherServlet中init方法何时运行?

欣喜 SpringMVC 发布时间:2025-03-04 17:16:29 阅读数:12851 1

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 {
    // 自定义逻辑
}
版权声明

本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。

本文链接: https://www.Java265.com/JavaFramework/SpringMVC/202503/8356.html

最近发表

热门文章

好文推荐

Java265.com

https://www.java265.com

站长统计|粤ICP备14097017号-3

Powered By Java265.com信息维护小组

使用手机扫描二维码

关注我们看更多资讯

java爱好者