以下题目顺序根据面试中问的概率排序的,尽量都背下来啊。
目录
面试题一:什么是Spring MVC ?简单介绍下你对springMVC的理解?
面试题二:SpringMVC的工作流程?
面试题三:Springmvc的优点?
面试题四:SpringMVC常用的注解有哪些?
面试题五:SpringMVC怎么样设定重定向和转发的?
面试题一:什么是Spring MVC ?简单介绍下你对springMVC的理解?
Spring MVC是一个基于Java的实现了MVC设计模式的请求驱动类型的轻量级Web框架,通过把Model,View,Controller分离,将web层进行职责解耦,把复杂的web应用分成逻辑清晰的几部分,简化开发,减少出错,方便组内开发人员之间的配合。
面试题二:SpringMVC的工作流程?
1、用户发起Web请求后到达Web容器(如:Tomcat/Jetty),服务器再将请求对象(HttpServletRequest)交给前置控制器(DispatcherServlet)。这里的前置控制器就是SpringMVC的核心入口,拦截匹配的请求。
2、前置控制器收到请求后会在doService()方法中设置一些属性,然后再将请求交给请求处理适配器(HandlerAdapter)。
3、请求处理适配器再去找到对应的请求处理器(Handler)去进一步处理请求(其实就是执行此请求要做的业务方法)。
4、请求处理器处理好请求后,返回一个ModelAndView对象并生成对应的页面再次交给前置控制器,由前置控制器将响应数据返回客户端。
面试题三:Springmvc的优点?
(1)可以支持各种视图技术,而不仅仅局限于JSP;
(2)与Spring框架集成(如IOC容器、AOP等);
(3)清晰的角色分配:前端控制器(dispatcherServlet) ,请求到处理器映射(handlerMapping),处理器适配器(HandlerAdapter),视图解析器(ViewResolver)。
(4)支持各种请求资源的映射策略。
(5)它较Struts更简单、更安全。
面试题四:SpringMVC常用的注解有哪些?
@RequestMapping:用于处理请求 url 映射的注解,可用于类或方法上。用于类上,则表示类中的所有响应请求的方法都是以该地址作为父路径。
@RequestBody:注解实现接收http请求的json数据,将json转换为java对象。
@ResponseBody:注解实现将conreoller方法返回对象转化为json对象响应给客户。
面试题五:SpringMVC怎么样设定重定向和转发的?
(1)转发:在返回值前面加"forward:",例如"forward:user.do?name=method4"
(2)重定向:在返回值前面加"redirect:",例如"redirect:http://www.baidu.com"