美文网首页Spring
SpringMVC控制流程

SpringMVC控制流程

作者: Skittle丶 | 来源:发表于2020-08-09 15:00 被阅读0次

    Spring Web MVC是一种基于Java的实现了Web MVC设计模式的请求驱动类型的轻量级Web框架,即使用了MVC架构模式的思想,将web层进行职责解耦,基于请求驱动指的就是使用请求-响应模型,框架的目的就是帮助我们简化开发,Spring Web MVC也是要简化我们日常Web开发的。


    1.png

    其运行的具体步骤为:
    具体步骤:
    首先用户发送请求到前端控制器,前端控制器根据请求信息(如 URL)来决定选择哪一个页面控制器进行处理并把请求委托给它,即以前的控制器的控制逻辑部分;图中的 1、2 步骤;
    页面控制器接收到请求后,进行功能处理,首先需要收集和绑定请求参数到一个对象,这个对象在 Spring Web MVC 中叫命令对象,并进行验证,然后将命令对象委托给业务对象进行处理;处理完毕后返回一个 ModelAndView(模型数据和逻辑视图名);图中的 3、4、5 步骤;
    前端控制器收回控制权,然后根据返回的逻辑视图名,选择相应的视图进行渲染,并把模型数据传入以便视图渲染;图中的步骤 6、7;
    前端控制器再次收回控制权,将响应返回给用户,图中的步骤 8;至此整个结束。
    可将开发步骤概括为

    • 导入SpringMVC坐标
     <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-webmvc</artifactId>
      <version>5.2.0.RELEASE</version>
     </dependency>
    
    • 配置SpringMVC核心控制器DispathcerServlet
      其本质属于servlet,需要在web.xml里进行配置。
        <servlet>
            <servlet-name>dispatcherServlet</servlet-name>
            <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
          <init-param>
                <param-name>contextConfigLocation</param-name>
                <param-value>classpath:spring_mvc.xml</param-value>
            </init-param>
            <load-on-startup>1</load-on-startup>
        </servlet>
        <servlet-mapping>
            <servlet-name>dispatcherServlet</servlet-name>
            <url-pattern>/</url-pattern>
        </servlet-mapping>
    
    • 创建Controller类和视图界面
      controller类需要添加@conponent注解
    • 使用注解配置Controller类中的映射地址
      使用@RequestMapping注解
    • 配置SpringMVC核心文件spring-mvc.xml
      <context:component-scan base-package="kxk.controller"/>
      dao层、service层的内容在applicationContext.xml中进行配置扫描即可
      在MVC配置中只需要对controller包进行扫描即可。需要注意的是,该配置文件需要在servlet初始化的时候,对其init-param进行配置,告诉其配置文件的路径。
          <init-param>
                <param-name>contextConfigLocation</param-name>
                <param-value>classpath:spring_mvc.xml</param-value>
            </init-param>
    
    • 客户端发起请求测试
      按照controller类中@requestmapping里配置的路径进行访问即可。

    相关文章

      网友评论

        本文标题:SpringMVC控制流程

        本文链接:https://www.haomeiwen.com/subject/elbldktx.html