navicat怎么添加check约束
236
2022-12-26
Java经典面试题汇总:Spring MVC
目录1. 什么是Spring MVC ?2. Spring MVC 有哪些组件?3. 说一下 Spring MVC 运行流程?4. Spring MVC的优点:5. @RequestMapping 的作用是什么?6. 如果在拦截请求中,我想拦截get方式提交的方法,怎么配置?7. SpringMVC常用的注解有哪些?8. SpingMvc中的控制器的注解一般用那个,有没有别的注解可以替代?9. Spring MVC和Struts2的区别有哪些?10. 怎么样在方法里面得到Request,或者Session
1. 什么是Spring MVC ?
Spring MVC属于SpringFrameWork的后续产品,已经融合在Spring Web Flow里面。Spring 框架提供了构建WEB 应用程序的全功能 MVC 模块。使用 Spring 可插入的 MVC 架构,从而在使用Spring进行WEB开发时,可以选择使用Spring的Spring MVC框架或集成其他MVC开发框架,该框架通过把Model,View,Controller分离,将web层进行职责解耦,把复杂的web应用分成逻辑清晰的几部分,简化了开发。
2. Spring MVC 有哪些组件?
前置控制器 DispatcherServlet。
映射控制器 HandlerMapping。
处理器 Controller。
模型和视图 ModelAndView。
视图解析器 ViewResolver。
3. 说一下 Spring MVC 运行流程?
(1)用户发送请求至前端控制器DispatcherServlet;
(2)DispatcherSXFrbaJervlet收到请求后,调用HandlerMapping处理器映射器,请求获取Handler;
(3)处理器映射器根据请求url找到具体的处理器Handler,生成处理器对象及处理器拦截器(如果有则生成),一并返回给DispatcherServlet;
(4)DispatcherServlet 调用 HandlerAdapter处理器适配器,请求执行Handler;
(5)HandlerAdapter 经过适配调用 具体处理器进行处理业务逻辑;
(6)Handler执行完成返回ModelAndView;
(7)HandlerAdapter将Handler执行结果ModelAndView返回给DispatcherServlet;
(8)DispatcherServlet将ModelAndView传给ViewResolver视图解析器进行解析;
(9)ViewResolver解析后返回具体View;
(10)DispatcherServlet对View进行渲染视图(即将模型数据填充至视图中)
(11)DispatcherServlet响应用户。
4. Spring MVC的优点:
它是基于组件技术的。全部的应用对象,无论控制器和视图,还是业务对象之类的都是 java组件.并且和Spring提供的其他基础结构紧密集成
不依赖于Servlet API(目标虽是如此,但是在实现的时候确实是依赖于Servlet的)
可以任意使用各种视图技术,而不仅仅局限于jsP
支持各种请求资源的映射策略
5. @RequestMapping 的作用是什么?
将 http 请求映射到相应的类/方法上。
6. 如果在拦截请求中,我想拦截get方式提交的方法,怎么配置?
可以在@RequestMapping注解里面加上method=RequestMethod.GET,或者使用@GetMapping。
7. SpringMVC常用的注解有哪些?
@RequestMapping:用于处理请求 url 映射的注解,可用于类或方法上。用于类上,则表示类中的所有响应请求的方法都是以该地址作为父路径。
@RequestBody:注解实现接收http请求的json数据,将json转换为java对象。
@ResponseBody:注解实现将conreoller方法返回对象转化为json对象响应给客户。
8. SpingMvc中的控制器的注解一般用那个,有没有别的注解可以替代?
用@Conntroller注解,表示是表现层,不能用用别的注解代替。
9. Spring MVC和Struts2的区别有哪些?
springmvc的入口是一个servlet即前端控制器(DispatchServleXFrbaJt),而struts2入口是一个filter过虑器(StrutsPrepareAndExecuteFilter)。
XFrbaJ springmvc是基于方法开发(一个url对应一个方法),请求参数传递到方法的形参,可以设计为单例或多例(建议单例),struts2是基于类开发,传递参数是通过类的属性,只能设计为多例。
Struts采用值栈存储请求和响应的数据,通过OGNL存取数据,springmvc通过参数解析器是将request请求内容解析,并给方法形参赋值,将数据和视图封装成ModelAndView对象,最后又将ModelAndView中的模型数据通过reques域传输到页面。Jsp视图解析器默认使用jstl。
10. 怎么样在方法里面得到Request,或者Session
在方法的形参中声明request,SpringMvc就会自动把request对象传入
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。
发表评论
暂时没有评论,来抢沙发吧~