Spring之MVC模式(上)

76 阅读1分钟

「这是我参与2022首次更文挑战的第5天,活动详情查看:2022首次更文挑战

前言:在使用过Spring架构后,MVC模式则是一种刻在DNA里面的模式体系,他是作用于Web与远程调用的,那么今天我们来看一下MVC标准化的好处。

介绍:Spring MVC属于SpringFrameWork的后续产品,已经融合在Spring Web Flow里面。Spring 框架提供了构建 Web 应用程序的全功能 MVC 模块。MVC(Model-View-Controller)模式是一种普遍被接受的构建Web应用的方法,它可以帮助用户将界面逻辑与应用逻辑分离。其中JAVA从来不缺少MVC框架,Apache的Struts,JSF,WebWork和Taestry等都可以用于MVC框架。SpringMVC 框架是以请求为驱动,围绕 Servlet 设计,将请求发给控制器,然后通过模型对象,分派器来展示请求结果视图。其中核心类是 DispatcherServlet,它是一个 Servlet,顶层是实现的Servlet接口。。

SpringMVC 使用:需要在 web.xml 中配置 DispatcherServlet 。并且需要配置 Spring 监听器ContextLoaderListener代码如下:

<listener>
        <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
<listener>
        <listener-class>org.springframework.web.util.IntrospectorCleanupListener</listener-class>
</listener>
<listener>
        <listener-class>org.springframework.web.context.request.RequestContextListener</listener-class>
</listener>
<servlet>
    <servlet-name>MvcDemo</servlet-name>
    <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
    <init-param>
    <param-name>contextConfigLocation</param-name>
    <!-- 检索常见写法如下 -->
    <param-value>
            <!-- 检索config下的指定mvc-content.xml文件 -->
            /config/mvc-content.xml
            <!-- 检索config下的demo1下的mvc-content.xml结尾的文件 -->
            /config/demo1/mvc-content.xml
            <!-- 检索config下的demo下的的子文件下的所有以-content.xml结尾的文件 -->
            /config/demo/**/*-content.xml
    </param-value>
    </init-param>
    <load-on-startup>1</load-on-startup>
</servlet>
<servlet>
    <servlet-name>MvcAllDemo</servlet-name>
    <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
    <init-param>
            <param-name>contextConfigLocation</param-name>
            <param-value>
                    /config/mvc-content-all.xml
            </param-value>
    </init-param>
    <load-on-startup>2</load-on-startup>
</servlet>
<!-- 配置多个如下 -->
<servlet-mapping>
        <servlet-name>MvcDemo</servlet-name>
        <url-pattern>/demo1/*</url-pattern>
</servlet-mapping>
<servlet-mapping>
        <servlet-name>MvcDemo</servlet-name>
        <url-pattern>/demo2/*</url-pattern>
</servlet-mapping>

<!-- 配置单个如下 -->
<servlet-mapping>
        <servlet-name>MvcAllDemo</servlet-name>
        <url-pattern>/demo/all/*</url-pattern>
</servlet-mapping>

SpringMVC 工作流程:

1643901844(1).jpg

小结:以上是MVC模式的配置和工作流程,下篇我将详细的剖析一下他的底层如何实现的,在这我祝大家,新春快乐,心想事成,身体健康,万事如意。