SpringMVC

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域中的值
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容