首页 > 代码库 > spring mvc

spring mvc

  spring mvc 是什么?

    spring mvc 是spring 框架的web组件,它是一种基于java实现的web mvc 的轻量级web框架

       spring mvc使用mvc的架构模式的思想,将web层进行职责解耦,基于请求-响应模式,目的就是简化开发

  spring mvc:

    前端控制器:dispacherservlet

    应用控制器:分为

          1、Handler Mapping 处理器映射器(进行处理器管理) ;

          2、View Resolver 视图解析器(视图管理);

          3、Controller 页面控制器

 

   流程图:

  技术分享

      从流程图可以得知dispacherservlet在接收到请求后,根据映射规则后分发到 具体的Controller 进行处理

  dispacherservlet是sping mvc 中最重要的部分,它负责接收http请求并协调sping mvc 各个组件完成请求处理的工作。  

  一个web项目可以有多个dispacherservlet,通过<Servlet-mapping>的配置,让每个dispacherservlet处理不同的请求

  dispacherservlet遵循“约定大于配置”,在大多数情况下无需额外的配置,只要按约定进行即可,如果要对默认规则进行调整,

可以通过配置参数修改:

  namespace:dispacherservlet对应的命名空间

  contextConfigLocation:

  publishContext:

  publishEvents:

 

spirng mvc  注解:

    @Controller:通过compent-scan 进行扫描类包,让使用了Controller 注解的类成为可以处理HTTP请求的控制器,每个控制器可以有多个

处理请求的方法,每个方法处理不同的请求操作

    @RequestMapping: 映射请求:将请求映射到对应的Controller   注解于类上

    @  GetMapping/PostMapping  等等: 类处定义的@RequestMapping提供初步的请求映射信息,方法处的@RequestMapping或GetMapping /

PostMapping 等等提供进一步的细分映射信息。

    dispacherservlet在截获到请求后,通过@RequestMapping的value值找到对应的Controller,再通过Controller中方法的@RequestMapping或

GetMapping /PostMapping 等的value值找到对应的处理方法。

    将请求映射到Controller中对应的处理方法的工作包含一系列的映射规则,这些规则利用请求中的各种信息,具体包括Url,请求参数,请求方法,请求头

这4方面的信息项的信息内容

 

spring mvc 拦截器:

    spirng mvc 拦截器类似于Servlet开发中的filter,用于Controller进行预处理和后处理

    使用场景: 

     1、日志记录:记录请求信息的日志,以便进行信息监控、信息统计、以及页面浏览次数等

     2、权限检查:如登录检测,使用prehandle方法查看是否登录,没有登录直接返回登录界面

      3、性能监控: 进入处理的时间和afterCompliments 后的时间

     4、通用行为:读取cookie 得到用户信息并将用户对象放入请求,以便后续使用

 

json 对象:  对象中嵌入对象 

      {

        “name”:“张三”,

        “age”: 29,

        “school”:{

        “name”:“成都7中”,

        “location”:"成都本地"   

        }

      }

json 数组对象:var jsonobj=  [25,“hi”,true];

 

    

spring mvc