1.DispatcherServlet中央调度器与概述

声明:此学习内容来源于动力节点:https://www.bilibili.com/video/BV1sk4y167pD(视频非常不错,喜欢看视频学习的老铁们不要错过)
本springmvc系列文章用于自学记录和分享给有需要的同学,不做任何商业用途。

其中有部分内容参考以下大佬的文章,在此声明来源,推荐大家看看大佬写的文章,后面章节不再展出。
大佬地址:https://www.cnblogs.com/yeyuting/p/14120428.html
大佬地址:https://blog.csdn.net/lgxzzz/article/details/99692556
大佬地址:https://www.cnblogs.com/holly8/p/11425080.html
大佬地址:https://blog.csdn.net/birdmain/article/details/84915934?utm_medium=distribute.pc_relevant.none-task-blog-BlogCommendFromBaidu-9.nonecase&depth_1-utm_source=distribute.pc_relevant.none-task-blog-BlogCommendFromBaidu-9.nonecase
大佬地址:https://www.cnblogs.com/zhlblogs/p/9553491.html
大佬地址:https://blog.csdn.net/flyingthink/article/details/103235815

1.SpringMVC概述

SpringMVC:是基于spring的一个框架, 实际上就是spring的一个模块, 专门是做web开发的。

理解是servlet的一个升级,web开发底层是servlet , 框架是在servlet基础上面加入一些功能,让你做web开发方便。

我们要做的是 使用@Contorller创建控制器对象, 把对象放入到springmvc容器中, 把创建的对象作为控制器使用
这个控制器对象能接收用户的请求, 显示处理结果,就当做是一个servlet使用。

使用@Controller注解创建的是一个普通类的对象, 不是Servlet。 springmvc赋予了控制器对象一些额外的功能。

2.DispatcherServlet中央调度器

DispatcherServlet是一个实际的Servlet (它继承自HttpServlet 基类)

web开发底层是servlet, springmvc中有一个对象是Servlet : DispatherServlet(中央调度器)
DispatherServlet: 负责接收用户的所有请求, 用户把请求给了DispatherServlet, 之后DispatherServlet把请求转发给我们的Controller对象, 最后是Controller对象处理请求。

servlet的初始化会执行init()方法。DispatcherServlet在init()中{
    // 创建容器,读取配置文件
    WebApplicationContext ctx = new ClassPathXmlApplicationContext("springmvc.xml");
	// 把容器对象放入到ServletContext中
    getServletContext().setAttribute(key, ctx);
}

配置web.xml

<!--1.注册DispatcherServlet-->
<servlet>
    <servlet-name>springmvc</servlet-name>
    <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
    <!--自定义springmvc读取配置文件的位置,【servlet-name】-servlet.xml-->
    <init-param>
        <!--springmvc的配置文件的位置属性-->
        <param-name>contextConfigLocation</param-name>
        <!--指定自定义文件的位置-->
        <param-value>classpath:springmvc-servlet.xml</param-value>
    </init-param>
    <!--
	启动级别-1
	在tomcat启动后,创建Servlet对象
	load-on-startup:表示tomcat启动后创建对象的顺序。它的值是整数,数值越小,tomcat创建对象的时间越早
	大于等于0的整数
	-->
    <load-on-startup>1</load-on-startup>
</servlet>

<servlet-mapping>
    <servlet-name>springmvc</servlet-name>
    <!--
	使用框架时候,url-pattern可以使用两种值
	1.使用扩展名方式,语法 *.xxx 其中xxx是自定义扩展名。常用的方式 *.do、*.action、*.mvc等等
	如:http://localhost:8080/myweb/some.do
	2.使用斜杠 '/'
		/ 匹配所有的请求;(不包括.jsp)
		/* 匹配所有的请求;(包括.jsp)
	-->
    <url-pattern>/</url-pattern>
</servlet-mapping>

SpringMVC创建容器对象时,读取的配置文件默认是 /WEB-INF/{servlet-name}-servlet.xml

用户发送请求到web容器,并被DispatcherServlet拦截之后进入springmvc容器,springmvc该怎么处理呢,这就需要springmvc的配置文件。

posted @ 2021-08-22 20:29  Lz_蚂蚱  阅读(239)  评论(0)    收藏  举报