对于java程序员来说,Spring MVC框架是用于开发Web应用程序的最流行的Java框架之一。在过去十年中,它已成为开发Java Web应用程序的框架。Spring MVC是基于经典的MVC(模型 - 视图 - 控制器)设计模式。由于其广泛的普及性和实用性,大多数Java开发工作需要对Spring和Spring MVC有一定的了解。各位Java从业者想趁最近秋招跳槽Spring MVC方面一定要准备充分哦!!!
什么是springMVC?作用?
springMVC是一种web层mvc框架,用于替代servlet(处理|响应请求,获取表单参数,表单校验等)。
为什么要用springMVC?
基本上,框架的作用就是用来简化编程的,相对于servlet来说,获取表单参数,响应请求等变得更简单了。
说出spring mvc底层执行流程(工作原理)
说说spring mvc中常用注解有哪些,分别什么作用?
-
@Controller
标识这个类是一个控制器 -
@RequestMapping
给控制器方法绑定一个uri -
@ResponseBody
将java对象转成json,并且发送给客户端 -
@RequestBody
将客户端请求过来的json转成java对象 -
@RequestParam
当表单参数和方法形参名字不一致时,做一个名字映射 -
@PathVarible
用于获取uri中的参数,比如user/1中1的值 -
Rest风格的新api
-
@RestController
-
@Controller+ @ResponseBody
-
@GetMapping@DeleteMapping@PostMapping
-
@PutMapping
其他注解
-
@SessionAttribute
声明将什么模型数据存入session -
@CookieValue
获取cookie值 -
@ModelAttribute
将方法返回值存入model中 -
@HeaderValue
获取请求头中的值
springmvc和strus2的区别?
- 入口不同:
springmvc 入口是Servlet。struts2入口是filter。 - 生命周期不同:
spring mvc Controller是单例的。所以不能使用成员变量获取参数。所以效率高。
struts action是多例的。所以可以使用成员变量获取参数。所以效率低。
如何在spring mvc实现RESTful 服务
- 导入jackson2包
- 开启注解驱动<mvc:annotation-driven/>
- json交互=@RequestBody @ResponseBody
spring mvc如何返回JSON数据
在处理方法前加上 @ResponseBody注解
或者
在控制器上使用 @RestController
什么是拦截器?有什么用?spring mvc如何定义拦截器?
-
what:
类似于filter的一个对象,用于预处理以及后处理处理器(控制器)。 -
how:
新建class实现HandlerInterceptor重写三个方法preHandlerpostHandlerafterCompletionspringmvc.xml中配置拦截器
2 spring mvc中如何做表单数据校验?
-
环境搭建
- springmvc.xml中配置一个validator
- <mvc:annotation-driven validator="validator"/>;
-
给Entity添加校验规则
@NotEmpty
@Length
...
用BindingResult 紧接着entity之后来接收错误信息。
test(User user,BindingResult rs)
请解释Spring Bean的生命周期?
- 通过构造器或工厂方法创建 Bean 实例
- 为 Bean 的属性设置值和对其他 Bean 的引用
- 将 Bean 实 例 传 递 给 Bean 后 置 处 理 器 的postProcessBeforeInitialization 方法
- 调用 Bean 的初始化方法(init-method)
- 将 Bean 实 例 传 递 给 Bean 后 置 处 理 器 的postProcessAfterInitialization 方法
- Bean 可以使用了
- 当容器关闭时, 调用 Bean 的销毁方法(destroy-method)
------完结------
感谢你的阅读,点赞、关注一下再走吧!!!
网友评论