iis服务器助手广告广告
返回顶部
首页 > 资讯 > 精选 >使用Spring MVC如何启动初始化
  • 463
分享到

使用Spring MVC如何启动初始化

springmvc 2023-05-31 09:05:42 463人浏览 八月长安
摘要

今天就跟大家聊聊有关使用spring mvc如何启动初始化,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。Web容器初始化过程WEB容器初始化的过程,其官方文档给出了这样的描述:Ins

今天就跟大家聊聊有关使用spring mvc如何启动初始化,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。

Web容器初始化过程

WEB容器初始化的过程,其官方文档给出了这样的描述:

  1. Instantiate an instance of each event listener identified by a <listener> element in the deployment descriptor.For instantiated listener instances that implement ServletContextListener, call the contextInitialized() method.

  2. Instantiate an instance of each filter identified by a <filter> element in the deployment descriptor and call each filter instance's init() method.

  3. Instantiate an instance of each servlet identified by a <servlet> element that includes a <load-on-startup> element in the order defined by the load-on-startup element values, and call each servlet instance's init() method.

其初始化的过程实际如下:

使用Spring MVC如何启动初始化

SpringMVC 的 web.xml配置

web.xml 配置代码:

<?xml version="1.0" encoding="UTF-8"?> <web-app version="2.5" xmlns="Http://java.sun.com/xml/ns/javaee"    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"    xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">   <context-param>   <param-name>contextConfigLocation</param-name>   <param-value>classpath:applicationContext.xml</param-value>  </context-param>   <listener>   <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>  </listener>    <servlet>   <servlet-name>mvc-dispatcher</servlet-name>   <servlet-class>    org.springframework.web.servlet.DispatcherServlet   </servlet-class>   <load-on-startup>1</load-on-startup>  </servlet>                                     <servlet-mapping>   <servlet-name>mvc-dispatcher</servlet-name>   <url-pattern>/</url-pattern>  </servlet-mapping>  </web-app>
  • <listener>标签中定义了spring容器加载器

  • <servlet>标签中定义了spring前端控制器

在 Servlet api中有一个ServletContextListener接口,它能够监听ServletContext对象的生命周期,实际上就是监听Web应用的生命周期。当Servlet容器启动或终止Web应用时,会触发ServletContextEvent事件,该事件由ServletContextListener来处理。在ServletContextListener接口中定义了处理ServletContextEvent 事件的两个方法contextInitialized()contextDestroyed()

ContextLoaderListener监听器的作用就是启动Web容器时,自动装配ApplicationContext的配置信息。因为它实现了ServletContextListener这个接口,在web.xml配置了这个监听器,启动容器时,就会默认执行它实现的方法。由于在ContextLoaderListener中关联了ContextLoader这个类,所以整个加载配置过程由ContextLoader来完成。

DispatchServlet初始化

springMVC架构中,DispatchServlet负责请求分发,起到控制器的作用。下面详细来解释说明:

使用Spring MVC如何启动初始化

  • DispatchServlet名如其义,它的本质上是一个Servlet,子类不断的对httpservlet父类进行方法扩展

  • HttpServlet有两大核心方法:init()和service()方法。HttpServletBean重写了init()方法,在这部分,我们可以看到其实现思路:公共的部分统一来实现,变化的部分统一来抽象,交给其子类来实现,故用了abstract class来修饰类名。此外,HttpServletBean提供了一个HttpServlet的抽象实现,使的Servlet不再关心init-param部分的赋值,让servlet更关注于自身Bean初始化的实现

  • FrameworkServlet提供了整合web javabean和spring application context的整合方案。在源码中可以看到通过执行initWebApplicationContext()方法和initFrameworkServlet()方法实现

  • DispatchServlet是HTTP请求的中央调度处理器,它将web请求转发给controller层处理,它提供了敏捷的映射和异常处理机制,DispatchServlet转发请求的核心代码在doService()方法中实现

DispatchServlet类和ContextLoaderListener类的关系图:

使用Spring MVC如何启动初始化

用ContextLoaderListener初始化上下文,接着使用DispatchServlet来初始化WebMVC的上下文

看完上述内容,你们对使用Spring MVC如何启动初始化有进一步的了解吗?如果还想了解更多知识或者相关内容,请关注编程网精选频道,感谢大家的支持。

--结束END--

本文标题: 使用Spring MVC如何启动初始化

本文链接: https://www.lsjlt.com/news/224825.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • 使用Spring MVC如何启动初始化
    今天就跟大家聊聊有关使用Spring MVC如何启动初始化,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。Web容器初始化过程web容器初始化的过程,其官方文档给出了这样的描述:Ins...
    99+
    2023-05-31
    springmvc
  • Spring启动时如何实现初始化
    这篇文章主要为大家展示了“Spring启动时如何实现初始化”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“Spring启动时如何实现初始化”这篇文章吧。一、Spring启动时实现初始化的几种方式准...
    99+
    2023-06-15
  • spring容器启动如何实现初始化某个方法
    小编给大家分享一下spring容器启动如何实现初始化某个方法,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!1、前言很多时候,我们需要在项目启动的时候,就要完成某些...
    99+
    2023-06-20
  • Spring启动时实现初始化有哪些方式?
    目录一、Spring启动时实现初始化的几种方式二、构造方法里初始化三、常规三件套四、自定义ApplicationListener监听五、Spring Boot提供的初始化接口一、Sp...
    99+
    2024-04-02
  • spring容器启动实现初始化某个方法(init)
    spring容器启动 初始化某方法(init) 1、前言 很多时候,我们需要在项目启动的时候,就要完成某些方法的执行。今天整理了一个简单的方法,使用spring容器中bean的属性:...
    99+
    2024-04-02
  • SpringBoot如何启动并初始化执行sql脚本
    这篇“SpringBoot如何启动并初始化执行sql脚本”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“SpringBoot如...
    99+
    2023-07-05
  • 使用Spring初始化加载InitializingBean()方法
    目录Spring初始化加载InitializingBean()1、spring初始化bean有两种方式2、相同点3、不同点4、InitializingBean接口定义的源码如下所示5...
    99+
    2024-04-02
  • Spring Bean是如何初始化的详解
    目录前言三级缓存doGetBeancreateBeandoCreateBeaninstantiateBeaninstantiateinstantiateClass注入Autowire...
    99+
    2024-04-02
  • Spring Boot + Mybatis + Spring MVC环境配置中Spring Boot如何实现初始化以及依赖添加
    这篇文章将为大家详细讲解有关Spring Boot + Mybatis + Spring MVC环境配置中Spring Boot如何实现初始化以及依赖添加,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。看一...
    99+
    2023-06-02
  • 如何使用值初始化映射
    本篇文章主要是结合我之前面试的各种经历和实战开发中遇到的问题解决经验整理的,希望这篇《如何使用值初始化映射》对你有很大帮助!欢迎收藏,分享给更多的需要的朋友学习~问题内容我在 go 中创建了多行地图...
    99+
    2024-04-05
  • vue如何初始化加载动画
    本文小编为大家详细介绍“vue如何初始化加载动画”,内容详细,步骤清晰,细节处理妥当,希望这篇“vue如何初始化加载动画”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。1.在入口文件index.html中加入loa...
    99+
    2023-07-04
  • 如何使用Mkusb初始化USB设备
    这篇文章将为大家详细讲解有关如何使用Mkusb初始化USB设备,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。Mkusb是用于在Ubuntu Linux上制作可启动驱动器的图形实用程序,它使用dd工具在后台...
    99+
    2023-06-27
  • Hibernate如何初始化
    小编给大家分享一下Hibernate如何初始化,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!Hibernate有两种配置文件格式,一种是XML,默认为hibern...
    99+
    2023-06-17
  • win10如何初始化
    这篇文章主要介绍“win10如何初始化”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“win10如何初始化”文章能帮助大家解决问题。首先点击左下角开始菜单,打开“设置” 接着进入其中“更新和安全”选项...
    99+
    2023-07-02
  • Servlet如何初始化
    这篇文章主要为大家展示了“Servlet如何初始化”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“Servlet如何初始化”这篇文章吧。有时候,我们需要仅仅是在服务启动,而非其他更为复杂的定时任务...
    99+
    2023-06-17
  • eclipse如何初始化
    要初始化Eclipse,您可以按照以下步骤操作:1. 下载并安装Eclipse:首先,您需要从Eclipse官方网站下载适合您操作系...
    99+
    2023-08-29
    eclipse
  • Android启动初始化方案AppStartUp的应用详解
    目录ContentProvider中初始化App StartupApp Startup使用延迟初始化StartUp是为了App的启动提供的一套简单、高效的初始化方案。 Content...
    99+
    2024-04-02
  • Kotlin + Flow 实现Android 应用初始化任务启动库
    目录特性 引入依赖 使用 特性 Kotlin + Flow 实现的 Android 应用初始化任务启动库。 支持模块化,按模块加载任务 可指定工作进程名称,main 表示...
    99+
    2024-04-02
  • Spring Boot中Idea如何从零开始初始化后台项目
    这篇文章主要为大家展示了“Spring Boot中Idea如何从零开始初始化后台项目”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“Spring Boot中Idea如何从零开始...
    99+
    2023-06-22
  • SpringBoot启动并初始化执行sql脚本问题
    目录SpringBoot启动并初始化执行sql脚本我们先看一下源码下面我们验证一下这两种方式SpringBoot项目在启动时执行指定sql文件1. 启动时执行2. 执行多个sql文件...
    99+
    2023-01-12
    SpringBoot启动 SpringBoot初始化 SpringBoot初始化执行sql
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作