首页 > 代码库 > 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