使用springmvc实现rest风格
REST,表述性状态传递,以URL表示要访问的资源
GET/POST/PUT/DELETE,查询、新增、更新、删除
REST风格响应数据,通常是JSON形式体现
控制器类上@Controller,mvc中的控制器。IoC容器加载这个控制器类。
在方法上,查询操作,@GetMapping(“地址/{可变参数,DEPT}”),形参上加上@Pathvariable(DEPT)
方法上,@ResponseBody,只返回json数据,不跳转页面,也可以在类上加上@RestController,这样所有方法默认加上了@ResponseBody
浏览器,服务器地址+注解中的地址+自己需要填写的参数,返回json数据,前端中使用ajax接受json数据,显示在页面中
SpringMVC拦截器的作用
对控制器方法【对注解中配置的url拦截】拦截后进行前置、后置处理,底层也是AOP
拦截器必须实现 HandlerInterceptor接口,实现三个方法,preHandler,postHandler页面还没有渲染之前,afterCompletion
权限控制,登录拦截等用处
SpringMVC的执行流程
浏览器输入url之后,所有请求先经过dispatchServlet,handlerMapping接口寻找地址映射,确定是哪个controller执行,然后实例化这个controller,handlerAdapter处理请求与响应,他会调用HttpMessageConverter,解析请求的url,比如url中的可变参数,handlerAdapter返回一个modelAndView对象【比如是一个jsp类型】给dispatchServlet,然后dispatchServlet选择处理jsp的视图解析器jspViewResolver,视图解析器jspViewResolver会结合modelAndView对象中的model和我们编写好的view,生成响应的html,作为响应发回给浏览器。