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
格式时。