SpringMVC工作原理
- 浏览器客户端将http请求发送给web服务器,web服务器会对来自浏览器客户端的http请求进行对应的解析;
- 由分发器控制器查询HanderMapping,而后找到可以处理来自浏览器客户端的http请求的Handler(处理器);
- 分发器获取可以处理请求的Controller(控制器);
- 控制器可以调用对应业务逻辑来处理请求,处理结果返回给控制器;
- Controller控制器将信息返回给ModelAndView(模型视图层);
- 接下来分发器查询视图解析器,然后找到ModelAndView(模型和视图层)所指定的视图;
- Handler处理器返回给ModelAndView(模型视图层)的并不是一个正式的视图,返回的只是一个逻辑视图;
- 最后分发器DispatcherServlet通过ViewResolver视图将逻辑视图转化为真正的视图View,并将最终结果返回给客户端浏览器显示给系统使用者看;
根据看狂神视频, 写体会加深印象
- 客户端接受请求后, 首先经由前端控制器, 然后加载配置文件的内容
- 先经过处理器映射器, 找到bean,根据请求找到对应的id,将请求的/hello 映射到HelloController
- 然后经过处理器适配器, 找到对应的Controller类
- 控制器调用业务对象, 返回模型数据
- 在经过前端控制器, 再请求视图解析器, 拼接好jsp位置, 返回给前端控制器
test.jsp
- 最后, 将返回的模型数据进行视图渲染, 将模型数据填充到request域中, 返回给用户
最后, 需要注意的是:
404, 看图中位置是否有lib文件夹, 里面放着springmvc的包
【狂神说Java】SpringMVC最新教程IDEA版通俗易懂