逐梦
1.什么是SpringMVC
1.SpringMVC是一个前端控制框架,主要用来接收用户提交的参数,和响应数据..SpringMVC是Spring家族的一大组件.
2.Spring是一个父级容器,
3.SpringMVC是一个子级容器.子级容器中的某写特定用法,不能用到Spring中
2.Servlet的缺点:
1.每编写一个Servlet都需要编写8行配置文件.
2.每个Servlet的入口;方法只有一个,只能处理一个业务.如果处理多个业务必须编写多个Servlet.这样的设计模式,太繁琐.
3.servlet获取参数时,必须一个一个的获取.并且参数类型必须手动转化.
3.SpringMVC的组件
1.前端控制器(DispatcherServlet) 功能:转发request和response
2.处理器映射器 根据用户提交的url.找到能够处理的Controller
3.处理器适配器 根据特定的规则执行用户的请求.
4.视图解析器 将用户返回的页面名称,自动拼接为具体页面路径.
4.SpringMVC核心调用过程
Url:localhost:8090/项目名/hello.action
服务端接收到请求后,servlet-sevice-dao(handler).给用户一个响应.
步骤:
1.客户端发送请求:localhost:8090/项目名/hello.action,发送给前端控制器
2.前端控制请求处理器映射器,查询能够处理该请求的Controller
3.将找到的Controller路径返回给前端控制器.
4.请求处理器适配器找到合适的处理器.处理请求.
5.处理器适配器找到合适的处理器.执行请求代码.(controller-service-dao)
6.将处理后的结果和响应页面封装到ModelAndView对象中,返回给处理器适配器.
7.将ModelAndView对象返回给前端控制器.
8.请求视图解析器帮助解析View对象,到底是哪个页面.
9.视图解析器内部拼接.将页面名称拼接成真实的页面路径,返回给前端控制器.View=hello /WEB-INF/hello.jsp 拼接前缀和后缀
10.将数据填充到页面中(request域中)该过程叫做视图渲染.之后返回给用户进行展现.
![在这里插入图片描述](https://img-blog.csdnimg.cn/20201220145512472.jpg?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQ1NjE0MzUz,size_16,color_FFFFFF,t_70)