SpringMvc面试题

简介: SpringMvc面试题

1、什么是 Spring 的 MVC 框架?

Spring 配备构建 Web 应用的全功能 MVC 框架。Spring 可以很便捷地和其他 MVC 框架集成,如 Struts,Spring 的 MVC 框架用控制反转把业务对象和控制逻辑清晰地隔离。它也允许以声明的方式把请求参数和业务对象绑定。

2、DispatcherServlet

Spring 的 MVC 框架是围绕 DispatcherServlet 来设计的,它用来处理所有的 HTTP 请求和响应。

3、WebApplicationContext

WebApplicationContext 继承了 ApplicationContext 并增加了一些 WEB 应用必备的特有功能,它不同于一般的 ApplicationContext,因为它能处理主题,并找到被关联的 servlet。

4、什么是 SpringMVC 框架的控制器?

控制器提供一个访问应用程序的行为,此行为通常通过服务接口实现。控制器解析用户输入并将其转换为一个由视图呈现给用户的模型。Spring 用一个非常抽象的方式实现了一个控制层,允许用户创建多种用途的控制器。

5、@Controller 注解

该注解表明该类扮演控制器的角色,Spring 不需要你继承任何其他控制器基类或引用ServletAPI。

6、@RequestMapping 注解

该注解是用来映射一个 URL 到一个类或一个特定的方处理法上。

7、返回 Json 用什么注解?

@ResponseBod

8、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 响应用户。

9、SpringMvc 的控制器是不是单例模式,如果是,有什么问题,怎么解决?

答:是单例模式,所以在多线程访问的时候有线程安全问题,不要用同步,会影响性能的,解决

方案是在控制器里面不能写字段。

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

可以在类上面加上@SessionAttributes 注解,里面包含的字符串就是要放入 session 里面

的 key

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

有两种写法,一种是实现接口,另外一种是继承适配器类,然后在 SpringMvc 的配置文件中

配置拦截器即可:

<!-- 配置 SpringMvc 的拦截器 -->
<mvc:interceptors> 
 <!-- 配置一个拦截器的 Bean 就可以了 默认是对所有请求都拦截 --> 
 <bean id="myInterceptor" class="com.et.action.MyHandlerInterceptor"></bean> 
 <!-- 只针对部分请求拦截 --> 
 <mvc:interceptor> 
 <mvc:mapping path="/modelMap.do" /> 
 <bean class="com.et.action.MyHandlerInterceptorAdapter" /> 
 </mvc:interceptor>
</mvc:interceptors>


相关文章
|
6月前
|
前端开发 Java 程序员
Spring MVC面试题
Spring MVC是一个基于Java的实现了MVC设计模式的请求驱动类型的轻量级 Web框架,通过把模型-视图-控制器分离,将web层进行职责解耦,把复杂的 web应用分成逻辑清晰的几部分,简化开发,减少出错,方便组内开发人员之间的配合。
108 1
Spring MVC面试题
|
6月前
|
缓存 前端开发 Java
Spring MVC 面试题及答案整理,最新面试题
Spring MVC 面试题及答案整理,最新面试题
164 0
|
6月前
|
JSON 前端开发 Java
都说Spring MVC面试问烂了,可是很多人工作三年还是不懂!
大家找工作时,涉及框架面试问题时,常会被问及框架的原理及工作流程。所以本 Chat 通过带着大家一起来自己写一个 Struts2 框架(同理SpringMVC框架 ),亲身体验下框架的实现流程及工作原理!
47 0
|
JSON 前端开发 Java
Spring MVC高频面试题总结,面试再也不怕了
Spring MVC高频面试题总结,面试再也不怕了
141 0
|
1月前
|
XML 前端开发 Java
Spring,SpringBoot和SpringMVC的关系以及区别 —— 超准确,可当面试题!!!也可供零基础学习
本文阐述了Spring、Spring Boot和Spring MVC的关系与区别,指出Spring是一个轻量级、一站式、模块化的应用程序开发框架,Spring MVC是Spring的一个子框架,专注于Web应用和网络接口开发,而Spring Boot则是对Spring的封装,用于简化Spring应用的开发。
102 0
Spring,SpringBoot和SpringMVC的关系以及区别 —— 超准确,可当面试题!!!也可供零基础学习
|
5月前
|
前端开发 Dubbo Java
spring面试题_spring mvc面试题_springboot面试题库
spring面试题_spring mvc面试题_springboot面试题库
|
6月前
|
JSON 前端开发 Java
Spring MVC常见面试题总结
Spring MVC常见面试题总结
45 0
|
XML 开发框架 Java
《Spring6核心源码解析》已完结,涵盖IOC容器、AOP切面、AOT预编译、SpringMVC,面试杠杠的!
全网首个全面解析Spring6核心源码的专栏,涵盖:IOC容器、AOP切面、声明式事务、AOT预编译和SpringMVC,让你从根本上彻底掌握Spring6核心技术。
520 1
《Spring6核心源码解析》已完结,涵盖IOC容器、AOP切面、AOT预编译、SpringMVC,面试杠杠的!
|
Java
第一季:10简单的谈一下SpringMVC的工作流程【Java面试题】
第一季:10简单的谈一下SpringMVC的工作流程【Java面试题】
67 0
|
Java 应用服务中间件
第一季:9SpringMVC中如何解决POST请求中文乱码问题,GET的又如何处理呢【Java面试题】
第一季:9SpringMVC中如何解决POST请求中文乱码问题,GET的又如何处理呢【Java面试题】
75 0