1.SpringMVC的流程?
第一步:发起请求到前端控制器(DispatcherServlet)
第二部:前端控制器请求HandlerMapping,查找Handler
可以根据xml配置,注解查找到
第三部:处理器映射器HandlerMapping向前端控制器返回Handler
第四步:前端控制器调用处理器适配器去执行Handler
第五步:处理器适配器去执行Handler
第六步:Handler执行完成给适配器返回ModelAndView
第七步:处理器适配器向前端控制器返回ModelAndView
ModelAndView是springmvc框架的一个底层对象,包括Model和view
第八步:前端控制器请求视图解析器去进行视图解析
根据逻辑视图名解析成真正的视图(jsp)
第九步:视图解析器向前端控制器返回View
第十步:前端控制器进行视图渲染
视图渲染将模型数据(在ModelAndView对象中)填充到request域
第十一步:前端控制器向用户响应结果
2.SpringMVC的主要组件
五大核心组件
1.DispatcherServlet 请求入口
2.HandlerMapping 请求派发,负责请求和控制器建立一一对应的关系
3.Controller 处理器
4.ModelAndView 封装模型信息和视图信息
5.ViewResolver 视图处理器,定位页面
3.SpringMVC怎么样设定重定向和转发的?
重定向: return "redirect:/redirectController/redirectTest"
转发: request.getServletDispatcher("/WEB- INF/pages/success.jsp").forward(request,response);
4.SpringMVC常用的注解有哪些?
1.@Controller
@Controller 用于标记在一个类上,使用它标记的类就是一个SpringMVC
Controller 对象
2.@RequestMapping RequestMapping是一个用来处理请求地址映射的注解,可用于类或方法上。
3.@Resource和@Autowired
@Resource和@Autowired都是做bean的注入时使用,其实@Resource并不是Spring的注解,它的包是javax.annotation.Resource,需要导入,但是Spring支持该注解的注入。
4.@PathVariable 用于将请求URL中的模板变量映射到功能处理方法的参数上,即取出uri 模板中的变量作为参数
5.@CookieValue 作用:用来获取Cookie中的值;
6.@RequestParam @RequestParam用于将请求参数区数据映射到功能处理方法的参数上
7.@SessionAttributes @SessionAttributes即将值放到session作用域中,写在class上面。 @SessionAttributes 除了可以通过属性名指定需要放到会话中的属性外(value 属性值), 还可以通过模型属性的对象类型指定哪些模型属性需要放到会话中(types 属性值)
8.@ModelAttribute 代表的是:该Controller的所有方法在调用前,先执行此@ModelAttribute方法,
9.@ResponseBody 作用: 该注解用于将Controller的方法返回的对象,通过适当的HttpMessageConverter转换为指定格式后,写入到Response对象的body数据区。
5.怎样在方法里面得到Request,或者Session?
通过request.getsession().getAttribute("name") 调用session域中的值