Spring MVC学习小结
Spring MVC
Spring MVC的特点:
轻量级,简单易学高效 , 基于请求响应的MVC框架
与Spring兼容性好,无缝结合,简洁灵活
约定优于配置
功能强大:RESTful、数据验证、格式化、本地化、主题等
Spring的web框架围绕DispatcherServlet [ 调度Servlet ] 设计。
DispatcherServlet的作用是将请求分发到不同的处理器。从Spring 2.5开始,使用Java 5或者以上版本的用户可以采用基于注解形式进行开发,十分简洁。
SpringMVC执行流程:

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字符串传给前端。
浙公网安备 33010602011771号