(2)不依赖于 Servlet API(目标虽是如此,但是在实现的时候确实是依赖于 Servlet 的)3)可以任意利用各种视图技能,而不仅仅局限于 JSP4)支持各种要求资源的映射策略5)它应是易于扩展的

3、SpringMVC 事情事理?

答:(1)客户端发送要求到 DispatcherServlet

(2)DispatcherServlet 查询 handlerMapping 找到处理要求的 Controller

jsp单例腾讯这套SpringMvc面试题你懂若干面试必备建议珍藏 GraphQL

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

(4)DispatcherServlet 查询 ModelAndView,找到指定视图

(5)视图将结果返回到客户端

4、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 响运用户。

6、SpringMvc 的掌握器是不是单例模式,如果是,有什么问题,怎么办理?

答:是单例模式,以是在多线程访问的时候有线程安全问题,不要用同步,会影响性能的,解方案是在掌握器里面不能写字段。

7、如果你也用过 struts2.大略先容下 springMVC 和 struts2 的差异有哪些?

答:(1)springmvc 的入口是一个 servlet 即前端掌握器,而 struts2 入口是一个 filter 过虑器

(2)springmvc 是基于方法开拓(一个 url 对应一个方法),要求参数通报到方法的形参,设计为单例或多例(建议单例),struts2 是基于类开拓,通报参数是通过类的属性,只能计为多例。

(3)Struts 采取值栈存储要乞降相应的数据,通过 OGNL 存取数据,springmvc 通过参析器是将 request 要求内容解析,并给方法形参赋值,将数据和视图封装成 ModelAnd工具,末了又将 ModelAndView 中的模型数据通过 reques 域传输到页面。
Jsp 视图解析认利用 jstl。

8、SpingMvc 中的掌握器的表明一样平常用那个,有没有别的表明可以替代

答:一样平常用@Conntroller 表明,表示是表现层,不能用用别的表明代替

9、 @RequestMapping 表明用在类上面有什么浸染?

答:是一个用来处理要求地址映射的表明,可用于类或方法上。
用于类上,表示类有相应要求的方法都因此该地址作为父路径。

10、怎么样把某个要求映射到特定的方法上面?

答:直接在方法上面加上表明@RequestMapping,并且在这个表明里面写上要拦截的路

11、如果在拦截要求中,我想拦截 get 办法提交的方法,怎么配置?

答:可以在@RequestMapping 表明里面加上 method=RequestMethod.GET

12、怎么样在方法里面得到 Request,或者 Session?

答:直接在方法的形参中声明 request,SpringMvc 就自动把 request 工具传

13、我想在拦截的方法里面得到从前台传入的参数,怎么得到?

答:直接在形参里面声明这个参数就可以,但必须名字和传过来的参数一样

14、如果前台有很多个参数传入,并且这些参数都是一个工具的,那么怎么样快速得到这象?

答:直接在方法中声明这个工具,SpringMvc 就自动会把属性赋值到这个工具里面。

15、SpringMvc 中函数的返回值是什么?

答:返回值可以有很多类型,有 String, ModelAndView,当一样平常用 String 比较好

16、SpringMVC 怎么样设定重定向和转发的?

答:在返回值前面加\"大众forward:\"大众就可以让结果转发,譬如\"大众forward:user.do?name=method4返回值前面加\公众redirect:\"大众就可以让返回值重定向,譬如\"大众redirect:百度一下,你就知道\"大众

17、SpringMvc 用什么工具从后台向前台通报数据的?

答:通过 ModelMap 工具,可以在这个工具里面用 put 方法,把工具加到里面,前台就可以过 el 表达式拿到。

18、SpringMvc 中有个类把视图和数据都合并的一起的,叫什么?

答:叫 ModelAndView。

19、怎么样把 ModelMap 里面的数据放入 Session 里面?

答:可以在类上面加上@SessionAttributes 表明,里面包含的字符串便是要放入 session 的 key

20、SpringMvc 怎么和 AJAX 相互调用的?

答:通过 Jackson 框架就可以把 Java 里面的工具直接转化成 Js 可以识别的 Json 工具详细步骤如下 :

(1)加入 Jackson.jar

(2)在配置文件中配置 json 的映射

(3)在接管 Ajax 方法里面可以直接返回 Object,List 等,但方法前面要加上@ResponseB表明

21、当一个方法向 AJAX 返回分外工具,譬如 Object,List 等,须要做什么处理?

答:要加上@ResponseBody 表明

22、SpringMvc 里面拦截器是怎么写的?

答:有两种写法,一种是实现接口,其余一种是继续适配器类,然后在 SpringMvc 的配置文配置拦截器即可:mvc:interceptors

<mvc:mapping path=\"大众/modelMap.do\"大众 />

</mvc:interceptor></mvc:interceptors>

总结:

希望这些口试题能够给在求职路上的你一些帮助,同学我也帮大家整理了部分的答案和更多的口试题给大家,希望大家在口试的时候也能够用到。
同时技能上面有待提升的朋友,

资料获取办法:

关注+转发后,私信关键词 【架构资料】即可获取!