Spring MVC 狂神说自学笔记(helloMVC篇)

本文详细介绍了Spring MVC的执行流程,从用户请求开始,经由DispatcherServlet前端控制器,通过HandlerMapping找到Controller,再由HandlerAdapter执行Controller,然后利用ModelAndView和ViewResolver配置视图并展示结果。同时,提到了配置DispatcherServlet、环境搭建、错误排查等实践步骤,并列举了关键组件如HandlerMapping、HandlerAdapter、ViewResolver和Controller。此外,文章还列出了一些关键术语和配置选项,如上下文配置位置、前缀和后缀。

0.重点理解

spring  :IOC和aop

springMVC  :他的执行流程要搞懂

回顾:什么是mvc:模型(model) 视图(view) 控制器(controller)

课外:推荐看的书:《淘宝的十年革命》

———————————————————————————————————————————

1.springMVC的执行原理

自我理解:

第一步:用户发起请求的时候会经过一个前端控制器(DispatcherServlet)

第二步(2,3,4):前端控制器会根据这个请求找到映射器(HandlerMapping),然后把这个映射器返回给DispatcherServlet

第三步(5~8):根据映射器 去 适配(适配器:HandlerAdapter) 这个映射器,适配到的映射器就是一个Controller(控制器), 然后会执行一个具体的Controller ,执行完了之后会返回一个ModelAndView

第四步 (9,10):通过ModelAndView去配置具体的 视图解析器(ViewResolver) ,然后ViewResolver在返回给DispatcherServlet

第五步:DispatcherServlet 把ViewResolver的数据交给 View 进行展示 然后结束。

———————————————————————————————————————————

2.练习过程

第一步:把框架搭好  把可避免的错误都避免

第二步: 配置前端控制器(DispatcherServlet)     web.xml

<servlet>
        <servlet-name>spring</servlet-name>
        <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
        <!--说明context是在哪-->
        <init-param>
            <param-name>contextConfigLocation</param-name>
            <param-value>classpath:springmvc.xml</param-value>
        </init-param>
        <!--运行级别    1  就是和服务器一起运行-->
        <load-on-startup>1</load-on-startup>
    </servlet>
    <servlet-mapping>
        <servlet-name>spring</servlet-name>
        <!--
        这里要明白 /和/* 的区别
        / :  就是不会吧jsp文件访问
        /*: 会吧jsp访问    如果访问了哪就会在后面多一个.jsp
        -->
        <url-pattern>/</url-pattern>
    </servlet-mapping>

第三步:配置环境      (映射器,适配器,视图解析器) 他其实就是一个spring

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


</beans>

springMVC的运行环境

     <!--处理器映射器-->
    <bean class="org.springframework.web.servlet.handler.BeanNameUrlHandlerMapping"/>

    <!--处理器适配器-->
    <bean class="org.springframework.web.servlet.mvc.SimpleControllerHandlerAdapter"/>

    <!--视图解析器:DispatcherServlet给他的ModelAndView-->
    <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver" id="InternalResourceViewResolver">
        <!--前缀-->
        <property name="prefix" value="/WEB-INF/jsp/"/>
        <!--后缀-->
        <property name="suffix" value=".jsp"/>
    </bean>

    <!--因为我们是使用的BeanNameUrl 的处理器  所以就要配置一个这个-->
    <bean id="/hehe" class="com.kuang.controller.SpringController"/>

第四步:编写Controller 

public class SpringController implements Controller {
    @Override
    public ModelAndView handleRequest(HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse) throws Exception {
        ModelAndView mv = new ModelAndView();
        mv.setViewName("hello");
        mv.addObject("msg","HelloSpringMVC");
        return mv;
    }
}

可能发生的错误:404  找不到页面  大概是lib没有jar包 。还有的就是bean没有实例化,应该就是你pom.xml 里的环境有问题(我是这样解决的)

3.需要记忆的单词

*前端控制器:DispatcherServlet

*处理器映射器:HandlerMapping

*处理器适配器:HandlerAdapter

*视图解析器:ViewResolver

*控制器:Controller

*上下文配置位置:context Config Location

视图:view

模型:model

*前缀:prefix

*后缀:suffix

属性:property

在启动时加载:load on startup

初始化:init param

模式:pattern

映射:mapping

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值