当前位置: 首页 > news >正文

<init-param>和<load-on-startup>的作用

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd"version="4.0"><!--配置前端控制器--><servlet><servlet-name>springmvc</servlet-name><servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class><!--手动设置springmvc配置文件的路径及名字--><init-param><param-name>contextConfigLocation</param-name><param-value>classpath:springmvc.xml</param-value></init-param><!--为了提高用户的第一次访问效率,建议在web服务器启动时初始化前端控制器--><load-on-startup>1</load-on-startup></servlet><servlet-mapping><servlet-name>springmvc</servlet-name><url-pattern>/</url-pattern></servlet-mapping>
</web-app>

 web.xml 配置文件里,<init-param> 和 <load-on-startup> 属于关键的配置项,它们分别承担着设置 SpringMVC 配置文件路径以及在 Web 服务器启动时初始化前端控制器的职责。下面为你详细介绍它们的用途:

1. <init-param>

用途

此标签用于给 Servlet 传递初始化参数,这些参数会在 Servlet 初始化时被读取并使用。在 SpringMVC 里,它主要用于明确 SpringMVC 配置文件的具体位置和名称。

代码示例及解释

<init-param><param-name>contextConfigLocation</param-name><param-value>classpath:springmvc.xml</param-value>
</init-param>
  • <param-name>:参数的名称,contextConfigLocation 是 DispatcherServlet 约定俗成的参数名,专门用来指定 SpringMVC 配置文件的位置。
  • <param-value>:参数的值,classpath:springmvc.xml 表示配置文件 springmvc.xml 处于类路径下。classpath: 是一个特殊的前缀,意味着在类路径里查找文件。

作用

借助这个配置,DispatcherServlet 会在启动时读取 springmvc.xml 文件,进而加载 SpringMVC 的各项配置,像 Bean 定义、视图解析器、拦截器等。

2. <load-on-startup>

用途

这个标签用于规定 Servlet 在 Web 服务器启动时是否进行初始化以及初始化的顺序。

代码示例及解释

<load-on-startup>1</load-on-startup>
  • 值的含义:该标签的值是一个整数,代表初始化的优先级。数值越小,越先进行初始化。
    • 若值为负数或者缺失该标签,Servlet 会在首次接收到请求时进行初始化。
    • 若值为正整数,Servlet 会在 Web 服务器启动时就进行初始化。

作用

设置 <load-on-startup>1</load-on-startup> 的目的是让 DispatcherServlet 在 Web 服务器启动时就完成初始化,这样能提升用户首次访问的效率。因为若在首次请求时才初始化,会增加请求的响应时间。

总结

  • <init-param>:明确 SpringMVC 配置文件的位置,让 DispatcherServlet 能够加载并运用这些配置。
  • <load-on-startup>:确保 DispatcherServlet 在 Web 服务器启动时就完成初始化,从而提高用户首次访问的效率。

下面是完整的配置示例,你可以更清晰地看到它们在 web.xml 中的位置:

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd"version="4.0"><!--配置前端控制器--><servlet><servlet-name>springmvc</servlet-name><servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class><!--手动设置springmvc配置文件的路径及名字--><init-param><param-name>contextConfigLocation</param-name><param-value>classpath:springmvc.xml</param-value></init-param><!--为了提高用户的第一次访问效率,建议在web服务器启动时初始化前端控制器--><load-on-startup>1</load-on-startup></servlet><servlet-mapping><servlet-name>springmvc</servlet-name><url-pattern>/</url-pattern></servlet-mapping>
</web-app>

在这个配置里,DispatcherServlet 会在 Web 服务器启动时初始化,并且读取类路径下的 springmvc.xml 文件来加载 SpringMVC 的配置。

http://www.xdnf.cn/news/270937.html

相关文章:

  • 重新构想E-E-A-T:提升销售与搜索可见性的SEO策略
  • 如何优化MySQL主从复制的性能?
  • 【电路笔记】-自耦变压器
  • c++ 函数参数传递
  • 推理能力:五一模型大放送
  • 硬件零基础入门(尚硅谷)
  • JavaScript中的AES加密与解密:原理、代码与实战
  • Day04 新增套餐
  • 双指针算法详解(含力扣和蓝桥杯例题)
  • 王道考研数据结构课后题代码题(2026版)——排序部分
  • 第5章 Python 基本数据类型详解(int, float, bool, str)
  • 融智学16字方针无歧义表述并构建人机协同的非零和博弈模型
  • systemd-notify(linux服务状态通知消息)
  • 视频编解码学习一之相关学科
  • Java框架“若依RuoYi”前后端分离部署
  • 2025年最新嵌入式开发STM32单片机详细教程(更新中)
  • GTS-400 系列运动控制器板(十四)----软限位使用
  • 多元随机变量协方差矩阵
  • 62常用控件_QDial的使用
  • Learning vtkjs之PolyDataNormals
  • Spring MVC注解式控制器开发
  • 计算方法实验五 插值多项式的求法
  • java 洛谷题单【算法2-2】常见优化技巧
  • 纯Java实现STDIO通信的MCP Server与客户端验证
  • 【Java】2025 年 Java 学习路线:从入门到精通
  • 【进阶】C# 委托(Delegate)知识点总结归纳
  • Spring事务管理
  • [计算机网络]数据链路层
  • 1993年地级市民国铁路开通数据(地级市工具变量)
  • Servlet (一)