springMVC 面试题

一、springMVC 面试题

1.Spring MVC的常用注解由有哪些?

@Controller: 用于标识此类的实例的是一个控制器

@RequestMapping: 映射url路劲

@ReponseBody: 返回JSON数据

@RequestBody:将JSON数据转换为json数据,将json数据转换为Java对象

@PathVaiable: 获得URL中路径变量中的值

@Param: 获取请求参数

2.@Controller注解有什么作用

@Controller再将一个类注册到spring bean容器里面。SpringMVC会将带有@RequestMapping 的方法的,注册到spring 到Handler里面,HandlerMapping会将这个映射信息存在map中

3.@RequestMapping 注解有什么用?

@RequestMapping 注解,用于配置handler 请求路径,如果加在类上会给每一个handler加上对应 路径,加在控制器的方法里面,会将当前的方法标识为handler

4.@RestController 和 @Controller 有什么区别?

@RestController 就是 @ReponseBody和@Controller 的组合

5.@RequestMapping 和 @GetMapping 注解有什么不同?

@RequestMapping:可注解在类和方法上;@GetMapping 仅可注册在方法上

@RequestMapping:可进行 GET、POST、PUT、DELETE 等请求方法;@GetMapping@RequestMapping 的 GET 请求方法的特例。

6.@RequestParam 和 @PathVariable 两个注解的区别

这两个注解获取请求参数,

@RequestParam 获取的是请求参数

@PathVariable 获取的是路径变量

7.@RequestBody和@RequestParam的区别

@RequestBody一般处理的是在ajax请求中声明contentType: "application/json; charset=utf-8"时候。也就是json数据或者xml数据。

@RequestParam一般就是在ajax里面没有声明contentType的时候,为默认的x-www-form-urlencoded格式时。