在浏览器输入url后的全部过程(一次完整的http请求过程)
- 将域名解析为ip
- 本地是否有域名缓存,如果没有则查询远程域名服务器查询
- 发起tcp链接
- 三次握手(客户端sync,服务器ack/sync,客户端ack)
- 发起http请求
- 与服务器建立链接后,就发起请求
- 服务器处理请求
- 返回响应结果
- 关闭tcp链接
- 关闭tcp链接(四次挥手:客户端fin,服务ack,服务器fin,客户端ack)
- 解析html
- 浏览器布局渲染
SpringMVC请求过程(SpringMVC执行流程)
- 请求到DispatchSevlert分发中心
- 到RequestMapping匹配到对应的请求方法(返回执行链,拦截器1,拦截器2.。。Hander)
- 到RequestHandler处理请求
- 到Controller
- 从Controller返回,并带ModelAndView
- 返回RequestHandler
- 返回DispatchSevlet
- 到视图解析器
- 返回DispatchSevlet
- 视图渲染
- 返回给用户
SpringMVC主要组件
- 分发中心DispatchServlet
- 处理器映射器RequestMapping
- 处理器适配器RequestAdapter
- 处理器Handel(Controller)
- 视图解析图
- 视图
SpringMVC有哪些优点
SpringMVC怎么设定重定向和转发的
请求转发与重定向的区别
- 转发在服务器内部,重定向在浏览器
- 转发是一次请求,重定向是两次请求
- 转发url不变,重定向url改变
- 转发只能在一个服务中,重定向可以在不同服务器之间
- 转发不会执行转发后的代码,重定向会执行重定向后的代码
设定重定向 redirect
设定转发 forward
Spring,Springboot,SpringMVC之间的区别
Spring是轻量的,企业级开发框架,
SpringBoot是在Spring之上,为了快速搭建开发环境,让开发人员专注于业务开发的框架。默认约定大于配置
SpringMVC是一个用于web开发的mvc框架,可以与Spring非常友好的整合。
SpringMVC常用注解
| 标题 | |
|---|---|
| @RequestMapping,@RequestBody,@ResponseBody |
如何解决POST中文乱码,Get中文乱码
SpringMVC拦截器怎么写 如果在拦截请求中,想拦截Get请求,怎么配置 注解原理 SpringMVC异常处理 SpringMVC控制器是不是单例的,如果是有什么问题?怎么解决