1.介绍
springMvc是基于MVC设计模型的轻量级web框架,它有比较完善的注解机制和restful风格的请求。(具体百度)
m-model 模型,v-view 视图,c-controller控制
tomcat引擎接收客户端发送的请求(请求头、请求行等等),然后封装代表请求的请求对象和响应对象。调用请求资源前端控制器。
2.开发步骤
1.导入springmvc的包,有了前端控制器。
2.配置Servlet。
3.编写Controller。
4.将controller使用注解配置到spring容器中。
5.配置组件扫描spring-mvc.xml(配置组件扫描)
6.测试。
3.入门案例
改命名空间,然后组件扫描。
和mybatis差不多,映射文件写好以后要注册,在配置好springmvc的前端控制器以后,再配置好扫描文件的路径。
执行流程
4.组件解析
处理器映射器是找资源的,解析请求。我们自己写的controller。
前端发送请求到前端控制器,前端控制器调用处理器映射器,查询到的返回给前端控制器。
前端控制器再调用处理器适配器,找到处理器(自己写的controller),执行后返回模型和视图,返回给前端控制器。
前端控制器再找视图解析器,视图解析器返回视图,最后相应给客户。
6.注解解析
spring-mvc.xml配置
前端控制器
视图解析器底层,写下来默认了重定向和转发。
底层,指定前缀加后缀。
配置内部视图解析器,然后就只用写success
数据响应
数据响应分为:页面跳转和回写数据。
1.页面跳转
1.1返回字符串形式
1.2返回模型和视图对象
结果:
modelAndView的几种形式
2.回写数据
2.1返回字符串形式
这种方式,因为前端控制器的设置,默认返回的是.jsp文件,所以找不到资源,想以字符串的形式返回,要加注解表示返回的是字符串。
@ResponseBody,不进行页面跳转
不加注解,返回的是.jsp页面,加注解,返回的是字符串。
结果:
2.2返回对象和集合
使用配置注解代替上述@ResponseBody将对象转换成json格式等
获取请求数据
就是获取客户端发送的数据
注解
RUSTFUL
{name}占位符,和参数进行绑定,@PathVariable匹配占位符
{name}和 value中的name要一致
文件上传、拦截器和异常处理机制(不想看了)