springMVC面试题
时间: 2023-08-04 16:09:03 浏览: 149
回答: Spring MVC是一个基于Java的实现了MVC设计模式的请求驱动类型的轻量级Web框架,它通过将Model,View,Controller分离,将web层进行职责解耦,简化开发,减少出错,方便开发人员之间的配合。\[1\]关于Spring MVC的工作流程,用户发起Web请求后,请求会到达Web容器,然后服务器将请求对象交给前置控制器(DispatcherServlet)。前置控制器是Spring MVC的核心入口,它会拦截匹配的请求并将其分发给相应的控制器进行处理。控制器处理完请求后,会返回一个ModelAndView对象,其中包含了处理结果和要展示的视图页面。最后,前置控制器将ModelAndView对象交给视图解析器进行解析,最终将结果返回给用户。\[3\]关于Spring MVC的控制器是否是单例模式,是的,Spring MVC的控制器默认是单例模式。这可能会引发线程安全的问题,因为多个请求可能会同时访问同一个控制器实例。为了解决这个问题,可以在控制器类上添加@Scope("prototype")注解,将其设置为原型模式,这样每次请求都会创建一个新的控制器实例,从而避免线程安全问题。\[2\]
#### 引用[.reference_title]
- *1* *3* [SpringMVC常见面试题(5个最常见面试题,回答超详细)](https://blog.csdn.net/feng8403000/article/details/122280816)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item]
- *2* [SpringMVC常见面试题总结(超详细回答)](https://blog.csdn.net/a745233700/article/details/80963758)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item]
[ .reference_list ]
阅读全文