SpringMVC的工作流程

SpringMVC的工作流程

1.执行流程

1、用户发送请求至 DispatcherServlet
2、DispatcherServlet 收到请求调用 HandlerMapping

3、DispatcherServlet根据请求 url 找到具体的Controller,生成处理器对象及处理器拦截器(若有则生成)一并返回给 DispatcherServlet
4、DispatcherServlet 通过 HandlerAdapter 调用Controller

5、执行Controller
6、Controller 执行完成返回 ModelAndView
7、HandlerAdapter将Controller 执行结果ModelAndView返回给DispatcherServlet

8、DispatcherServletModelAndView 传给 ViewReslover

9、ViewReslover 解析后返回具体 View
10、DispatcherServletView 进行视图渲染【即将模型数据填充至视图中】
11、DispatcherServlet 响应用户

Controller】处理器

DispatcherServlet】前端控制器

HandlerMapping】处理器映射器

HandlerAdapter】 处理器适配器

ViewReslover】 视图解析器

View】页面对象

2.执行流程图

在这里插入图片描述

3.入门使用

3.1 编写Controller

package edu.lhc.controller;

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.servlet.ModelAndView;

@Controller
public class ReqController {
    @RequestMapping("/req")
    public ModelAndView success() {
        //创建模型视图对象
        ModelAndView mv = new ModelAndView();
        //存入数据
        mv.addObject("msg", "success");
        //设置页面跳转文件名
        mv.setViewName("success");
        return mv;
    }
}

3.2 编写请求响应成功后跳转的页面

<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
    <title>响应成功</title>
</head>
<body>
    <h1>${msg}</h1>
</body>
</html>

3.3 配置SpringMVC容器–spingmvc.xml

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xmlns:context="http://www.springframework.org/schema/context"
       xmlns:mvn="http://www.springframework.org/schema/mvc"
       xsi:schemaLocation="http://www.springframework.org/schema/beans
       https://www.springframework.org/schema/beans/spring-beans.xsd
       http://www.springframework.org/schema/context
       https://www.springframework.org/schema/context/spring-context.xsd
       http://www.springframework.org/schema/mvc
       https://www.springframework.org/schema/mvc/spring-mvc.xsd">

    <!--开启注解扫描-->
    <context:component-scan base-package="edu.lhc"/>
    <!--配置映射器与适配器-->
    <mvn:annotation-driven/>
    <!--配置视图解析器器-->
    <bean id="viewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver">
        <!--配置页面前缀-->
        <property name="prefix" value="/"/>
        <!--配置页面后缀-->
        <property name="suffix" value=".jsp"/>
    </bean>
</beans>

3.4 在web.xml中配置DispatcherServlet

<?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>dispatcherServlet</servlet-name>
        <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
        <!--contextConfigLocation 用来指定springmvc配置文件的位置-->
        <init-param>
            <param-name>contextConfigLocation</param-name>
            <param-value>classpath:springmvc.xml</param-value>
        </init-param>
        <!-- load-on-startup:表示web容器启动的时,当前对象创建的顺序,值越小初始化越早-->
        <load-on-startup>0</load-on-startup>
    </servlet>
    <servlet-mapping>
        <servlet-name>dispatcherServlet</servlet-name>
        <url-pattern>*.do</url-pattern>
    </servlet-mapping>
</web-app>

3.5 部署项目,访问页面

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值