欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

springmvc必要掌握的面试题

程序员文章站 2022-07-11 11:40:45
...

springmvc必要掌握的面试题

1.springmvc的工作原理?

客户端发送请求到DispatcherServlet

DispatcherServlet查询handlerMapping找到处理请求的Controller

Controller调用业务逻辑后,返回ModelAndView

DispatcherServlet查询ModelAndView,找到指定视图

视图将结果返回到客户端

2.springmvc的执行流程?
springmvc必要掌握的面试题

1、  用户发送请求至前端控制器DispatcherServlet。

2、  DispatcherServlet收到请求调用HandlerMapping处理器映射器。

3、  处理器映射器找到具体的处理器(可以根据xml配置、注解进行查找),生成处理器对象及处理器拦截器(如果有则生成)一并返回给DispatcherServlet。

4、  DispatcherServlet调用HandlerAdapter处理器适配器。

5、  HandlerAdapter经过适配调用具体的处理器(Controller,也叫后端控制器)。

6、  Controller执行完成返回ModelAndView。

7、  HandlerAdapter将controller执行结果ModelAndView返回给DispatcherServlet。

8、  DispatcherServlet将ModelAndView传给ViewReslover视图解析器。

9、  ViewReslover解析后返回具体View。

10、DispatcherServlet根据View进行渲染视图(即将模型数据填充至视图中)。

11、 DispatcherServlet响应用户。

3.springmvc设置重定向和转发?

    在返回值前面加"forward:“就可以让结果转发
    在返回值前面加"redirect:“就可以让返回值重定向
  
  1. Springmvc 如何做异常处理 ?

可以将异常抛给Spring框架,由Spring框架来处理;自定义实现spring的全局异常解析器HandlerExceptionResolver,在异常处理器中添视图页面即可。

5.springmvc常用注解:

@Controller 声明spring的一个Bean,DispatchServlet() 会自动扫描此注解的类,并将Web请求映射到注解@RequestMapping的方法上

@RequestMapping 注解是用来映射Web请求(访问路径和参数),处理类和方法

@ResponseBody 支持将返回值放在response体内,而不是返回页面,

@PathVariable 用来接收路径参数。

@RestController 是一个组合注解 开发一个和页面交互数据控制的时候使用此注解 相等于(@Controller和@ResponseBody两个注解)

@Controller和@RestController的区别:

@Controller类中的方法可以直接通过返回String跳转到jsp、ftl、html等模版页面。在方法上加@ResponseBody注解,也可以返回实体对象。 @RestController类中的所有方法只能返回String、Object、Json等实体对象,不能跳转到模版页面。 @RestController相当于@ResponseBody + @Controller。

@RestController中的方法如果想跳转页面,则需要用ModelAndView进行封装:

@RestController public class UserController { 
   @RequestMapping(value =   "/index",method = RequestMethod.GET)  
          public String toIndex(){    
           ModelAndView mv = new ModelAndView("index");  
                   return mv;  
       } 
   }
  1. Springmvc 中系统如何分层 ?
表现层(UI):数据的展现,操作页面,请求转发。
业务层(服务层):封装业务处理逻辑
持久层(数据访问层):封装数据访问逻辑