Spring MVC 是 Spring 提供的一个基于 MVC 设计模式的轻量级 Web 开发框架,它能够很好的解决开发人员的开发负担,使开发简便化,因此在企业中得到广泛的使用,并且在面试中也常常会问到这方面的问题,那springmvc工作流程面试题有哪些?下面来我们就来给大家讲解一下。
1.SpringMVC的流程?
(1)用户发送请求被前端DispatcherServlet捕获;
(2)DispatcherServlet捕获到请求后,调用HandlerMapping处理映射器,请求获取Handle;
(3)处理器映射器跟据请求url找到具体的处理器,生成处理器对象及处理器拦截器并返回给DispatcherServlet;
(4)DispatcherServlet调用HandlerAdapter处理器适配器;
(5)HandlerAdapter经过适配调用handler;
(6)Handler执行完成返回ModelAndView;
(7)HandlerApdater将Handler执行结果ModelAndView返回给DispatcherServlet;(8)DispatcherServlet讲讲ModelAndView传给ViewResolver视图解析器进行解析;(9)ViewResolver解析后返回具体View;
(10)DispatcherServlet对View进行视图渲染(即将模型数据充至视图中)然后DispatcherServlet响应用户。
2.Springmvc如何做异常处理?
可以将异常抛给Spring框架,由Spring框架来处理,自定义实现spring的全局异常解析器HandlerExceptionResolver,在异常处理器中添视图页面即可。
3.Springmvc 中对于文件的上传有哪些需要注意的?
在页面form中提交enctype="multipart/form-data"的数据时,需要springmvc对multipart类型的数据进行解析;在springmvc.xml中配置multipart类型解析器;方法中使用:MultipartFile attach (单个文件上传) 或者 MultipartFile[] attachs (多个文件上传)
4.SpringMVC重要组件有哪些?
前端控制器(DispatcherServlet):接收请求,响应结果,可以理解为电脑的CPU。
处理器映射器(HandlerMapping):根据URL去查找处理器。
处理器适配器(HandlerAdapter) :它调用后端处理器中的方法,返回逻辑视图 ModelAndView 对象。
处理器(Handler):对用户具体请求进行处理,也就是程序猿编写代码处理逻辑的, 类似于Controller 类。
视图解析器(ViewResovler):进行视图解析,将 ModelAndView 逻辑视图解析为具体的视图(如JSP)。
5.Spring MVC怎么样设定重定向和转发的?
(1)转发:在返回值前面加"forward:",譬如"forward:user.do?name=method4"
(2)重定向:在返回值前面加"redirect:",譬如"redirect:/hello.do"
6.SpringMvc的控制器是否是单例模式,若是是,有什么问题,怎么解决?
是单例模式,因此在多线程访问的时候有线程安全问题,不要用同步,会影响性能的,解决方案是在控制器里面不能写字段。
其实面试SpringMvc相关问题的时候,我们只要将这方面知识都掌握了,那么在面试中就不会紧张了!因此我们可以多看SpringMvc这方面的面试题哦!最后大家如果想要了解更多Java面试题知识,敬请关注奇Q工具网。
推荐阅读: