正在加载中,请稍后

Spring MVC学习小结

Spring MVC

Spring MVC的特点:

轻量级,简单易学高效 , 基于请求响应的MVC框架

与Spring兼容性好,无缝结合,简洁灵活

约定优于配置

功能强大:RESTful、数据验证、格式化、本地化、主题等

Spring的web框架围绕DispatcherServlet [ 调度Servlet ] 设计。

DispatcherServlet的作用是将请求分发到不同的处理器。从Spring 2.5开始,使用Java 5或者以上版本的用户可以采用基于注解形式进行开发,十分简洁。

SpringMVC执行流程:

image

1.用户请求服务器,请求提交到DispatcherServlet

2.DispatcherServlet查询一个或多个handlerMapping,处理适配器(HandleAdapter)处理handlerMapping,执行Controller(Handler)

3.Controller调用业务层后,返回ModelAndview

4.业务逻辑处理完后,DispatcherServlet查询ModelAndView

5.DispatcherServlet查询一个或多个ViewResoler视图解析器,找到ModelAndview指定的视图。

6.这时把这个ModelAndView解析后反馈给浏览器。

7.Http响应,视图负责将结果显示到客户端。

SpringMVC组件:

DispatcherServlet:前端控制器

用户的请求到达前端控制器,他就相当于mvc中的c,DispatcherServlet是整合流程的控制中心由它来调用其他组件来处理用户请求,DispatcherSevlet降低了组件之间的耦合性。

HandlerMapping:处理器映射器

根据用户的请求找打Handler,即处理器,SpringMVC提供了不同的映射器,实现不同的映射方式,例如配置文件方法,实现接口方法,注解方式等。

Handler:处理器

后端处理器,也就是Controller里的方法,根据业务开发。

HandlerAdapter:处理器适配器

对处理器进行执行,适配器模式。

ViewResolver:视图解析器

负责处理结果生成View视图

View:视图

也就是JSP。

SpringMVC中的重定向和转发的区别:

return “forward:/xxx.action”

return “redirect:/xxx.action”

请求转发:地址栏不发生变化、只有一个请求、可以通过request域传递数据

请求重定向:地址栏会发生变化、两次请求、无法通过request域传递数据

SpringMVC 中Model、ModelMap、ModelAndView

Model和ModelMap本质上没有区别,是用来向视图(Jsp)传值的。Model是返回一个值,ModelMap是返回一个map,使用时,使用addAttribute(“modelName”,Object)往Model里面设置值,最后return “xxxx--url”视图地址,在jsp中通过el表达式${"modelName"}获取值。

ModelAndView 是用来页面跳转的,addObject(model)用来设置值,setViewName(“xxxxurl”)用来设置转发的路径。

SpringMVC和Ajax()交互

引入Jackson.jar

在配置文件配置json映射

使用@ResponseBody注解

该注解可以将返回的内容Object,List等序列化成json字符串传给前端。

posted @ 2021-05-16 10:42  wode虎纹猫  阅读(72)  评论(0)    收藏  举报
Live2D