1、什么是springMVC
SpringMVC是Spring的一个模块,基于MVC的一个框架,无需中间整合层来整合
SpringMVC时一个基于Java的实现了MVC设计模式的请求驱动类型的轻量级的Web框架,通过把模型---视图---控制器分离,将web层进行解耦,把复杂的web应用分成逻辑清晰的及部分,简化开发
2、Spring的工作原理
1)客户端发送请求到DispatherServlet
2)DispatherServlet查询handlerMapping找到处理请求的Controller
3)Controller调用业务层后,返回ModelAandView
4)DispatherServlet查询ModelAndView,找到指定的视图
5)视图将结果返回到客户端
3、Spring的工作流程
- 客户端发送请求到DispatherServlet
- DispatherServlet接受请求调用HandlerMapping处理映射器
- 处理器映射器找到具体的处理器(可以根据xml配置、注解进行查找),生成处理器对象及处理器器拦截器一并返回给DispatherServlet
- DispatherServlet调用HandlerAdapter处理器适配器
- HandlerAdapter经过适配器调用具体的处理器(Controller,也叫后端控制器)
- Controller执行(调用业务层,数据层处理数据)完成返回ModelAndView
- HandlerAdapter将ModelAndView返回给DispatherServlet
- DispatherServlet将ModelAndView传给ViewReslover视图解析器
- 视图解析器解析后返回具体的View
- DispatherServlet根据View进行渲染视图(经数据填充到视图中)
- DispatherServlet响应用户
流程图:
4、SpringMVC的控制器是单例模式,所以在多线程访问时不存在线程安全问题
5、@RequestMapping注解的作用
- 是一个用来处理请求地址映射的注解,可以用在方法上,也可以用在类上(表示类中的所有响应请求的方法都是以该地址作为父路径)
6、SpringMV如何设定转发和重定向
- 在返回值前面加forword,就可以让结果转发,例如:forword:user.do?name=xxx
- 在返回值前面加redirect,就可以让返回值重定向,例如:redirect://http://www.baidu.com
7、SpringMVC怎么和AJAX相互调用
- 通过Jackson框架就可以把Java里面的对象转化成js可以识别的Json对象
具体步骤:
1)导入Jackson.jar
2)在配置文件里配置json的映射
3)在接受Ajax方法里可以直接返回Object,list等,但是方法上要加上@ResponseBody注解