SpringMVC基础

ApplicationContext获取方式

在web项目中,可以使用ServeltContextListener监听web应用的启动,我们可以在web应用启动时,就加载Spring的配置文件,创建应用上下文对象ApplicationContext,将其存储到最大的域servletContext域中。
而spring提供了一个监听器ContextLoadListener就是对上述功能的封装。

快速实现

1.在web.xml中配置监听器
2.使用WebApplicationContextUtils获得应用上下文对象ApplicationContext
配置


SpringMVC的基本概念

三层架构

我们的开发架构一般都是基于两种形式,一种是C/S架构,也就是客户端/服务器,另一种是B/S架构,也就是浏览器服务器.
表现层.( MVC模型)
业务层.
持久层.

MVC模型

MVC全名是Model View Controller,是模型(model)-视图(view)-控制器(controller)的缩写,是一种用于设计创建 Web 应用程序表现层的模式.

SpringMVC是什么

SpringMVC是一种基于Java的实现MVC设计模型的请求驱动类型的轻量级Web框架,属于 Spring FrameWork 的后续产品,已经融合在Spring Web Flow里面.

环境的搭建

1.添加SpringMCV开发的依赖jar包。
2.在web.xml中配置SpringMVC的核心控制器。
3.创建SpringMCV配置文件springmvc.xml
4.创建index.jsp 编写控制器并使用注解配置HelloController
5.修改SpringMCV配置文件springmvc.xml配置视图解析器。
配置

SpringMVC的执行流程

执行流程
没啥好说的看懂图就行

  1. 前端控制器:DispatcherServlet

    用户请求到达前端控制器,它就相当于 MVC 模式中的 C,DispatcherServlet 是整个流程控制的中心,由

它调用其它组件处理用户的请求,DispatcherServlet 的存在降低了组件之间的耦合性。

  1. 处理器映射器:HandlerMapping

    HandlerMapping 负责根据用户请求找到 Handler 即处理器,SpringMVC 提供了不同的映射器实现不同的

映射方式,例如:配置文件方式,实现接口方式,注解方式等。

  1. 处理器适配器:HandlerAdapter

    通过 HandlerAdapter 对处理器进行执行,这是适配器模式的应用,通过扩展适配器可以对更多类型的处理

器进行执行。

  1. 处理器:Handler

    它就是我们开发中要编写的具体业务控制器。由 DispatcherServlet 把用户请求转发到 Handler。由

Handler 对具体的用户请求进行处理。

  1. 视图解析器:View Resolver

    View Resolver 负责将处理结果生成 View 视图,View Resolver 首先根据逻辑视图名解析成物理视图名,即具体的页面地址,再生成 View 视图对象,最后对 View 进行渲染将处理结果通过页面展示给用户。

  2. 视图:View

    SpringMVC 框架提供了很多的 View 视图类型的支持,包括:jstlView、freemarkerView、pdfView等。最常用的视图就是 jsp。一般情况下需要通过页面标签或页面模版技术将模型数据通过页面展示给用户,需要由程序员根据业务需求开发具体的页面


SpringMVC拦截器

SpringMVC框架中的拦截器用于对处理器进行预处理和后处理的技术。
拦截器也是AOP思想的一种实现方式

<!-- 配置拦截器 -->
<mvc:interceptors>
    <mvc:interceptor>
        <!--
            配置拦截器拦截的方法
            /** 代表拦截所有方法
            /user/* 代表拦截/user路径下的所有方法
        -->
        <mvc:mapping path="/user/*"/>
        <!--配置不拦截的方法
        <mvc:exclude-mapping path="" />
        -->
        <bean id="myInterceptor1" class="com.itheima.interceptor.MyInterceptor1"></bean>
    </mvc:interceptor>
</mvc:interceptors>

多个拦截器配置

<!-- 配置拦截器 -->
<mvc:interceptors>
   <mvc:interceptor>

       <mvc:mapping path="/user/*"/>

       <bean id="myInterceptor1" class="com.itheima.interceptor.MyInterceptor1"></bean>
   </mvc:interceptor>

   <mvc:interceptor>
       <mvc:mapping path="/user/*"/>
       <bean id="myInterceptor2" class="com.itheima.interceptor.MyInterceptor2"></bean>
   </mvc:interceptor>
</mvc:interceptors>

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值