Flutter开发App的未来及其在各行业的应用潜力分析
525
2023-02-04
SpringMVC结构简介及常用注解汇总
MVC结构简介
Model(模型):数据模型,提供要展示的数据,因此包含数据和行为。现在一般分离为数据层Dao和服务层Service,提供了模型数据查询和模型数据的状态更新等功能。
View(视图):负责进行模型的展示,一般指用户界面。
Chttp://ontroller(控制器):接受用户请求,并委托模型进行处理(状态改变),处理完返回模型数据给视图,交由视图进行展示。
SpringMVC简介
SpringMVC是SpringFramework的一部分,是java实现MVC的轻量级Web框架。
Spring的web框架围绕DispatcherSeZoNQgwrvlet调度Servlet进行设计,DispatcherServlet的作用是将请求分发到不同的处理控制器Controller。
SpringMVC与Spring无缝集成(使用SpringIoc和Aop),使用约定优于配置,能够进行简单junit测试,支持Restful风格,异常处理,数据映射,-等等。
SpringMVC执行流程
用户发出请求,DispatcherServlet前置控制器接收并拦截请求
HandleZoNQgwrMapping处理器映射根据DispatcherServlet给予请求url查找handler
HandlerExecution表示具体的Handler,其主要作用是根据url查找对应控制器,将解析后的信息传递给DispatcherServlet
DispatcherServlet根据解析后的信息交由HandlerAdapter
HandlerAdapter按照信息把处理交予对应的Controller执行
Controller处理过后把处理信息如ModelAndView交还HandlerAdapter,HandlerAdapter再把视图逻辑或模型交还DispatcherServlet
DispatcherSerlvet再调用视图解析器ViewResovler对逻辑视图进行解析,解析过后再将最终视图结果呈现给用户
常用注解
1. @Controller
@Controller注解的控制器负责处理DispatcherServlet分发的请求,它把用户请求的数据经过业务处理层处理之后封装成一个Model,再将该Model返回给对应的View进行展示。
2. @ResponseBody
@ResponseBody注解用于将Controller的方法返回的对象根据Http Request Header的Accept内容,通过适当的HttpMessageConverter转换为指定格式后,写入Response对象的body数据区。
3. @RestController
@ControllZoNQgwer和@ResponseBody相加的作用。
4. @RequestMapping
@RequestMapping用于处理请求地址映射的注解,用于类或方法上。用于类上,表示类的所有响应请求的方法都是以该地址作为父路径。
@RequestMappping的常用参数是value和method,分别表示请求url,请求类型。method有GET,POST,PUT,DELETE四种选择,http只支持GET和POST,但SpringMVC适配了另外两种,在使用PUT和DELETE请求时,后台会将其转换成POST。
5. @PathVariable
@PathVariable能够映射url绑定的占位符,因此,我们可以把url中的{xxx}占位符绑定到操作方法的参数@PathVariable{"xxx"}中,增加了restful url构造的灵活性。
6. @RequestParam
@RequestParam用于处理请求参数,使用@PathVariable可以获取请求参数,这是一个Rest风格的URL,使用炸占位符的方式携带一个参数,但是它并不是真正意义的请求参数。
@RequestParam标识的参数需要url请求时一定携带,要不然就报错,除非@RequestParam的参数required设为false。
7. @RequestHeader
@RequestHeader和@RequestParam的用法相同,它能够获取请求头的信息并注入目标方法的参数中
8. @RequestHeader
@CookieValue也和和@RequestParam的用法相同,它是用来获取cookie值的,它能够将获取cookie值并注入目标方法的参数中
以上就是SpringMVC结构简介及常用注解汇总的详细内容,更多关于SpringMVC结构和常用注解的资料请关注我们其它相关文章!
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。
发表评论
暂时没有评论,来抢沙发吧~