springmvc
把软件系统分为3个基本部分:模型(Model)、视图(View)和控制器 (Controller)。
-
模型(Model):Model是由一个实体Bean实现的,是数据的载体 ·
-
视图(View):在Java EE应用程序中,View可以由JSP(Java Server Page)担任。在目前的前/后端分离模式下,View已经由前端取代
-
控制器(Controller):在Java EE应用中,Controller可能是一个 Servlet。在Spring MVC中,控制器的核心是DispatcherServlet
参数传递
-
无注解方式
-
@RequestParam方式
-
@PathVariable方式
-
@RequestBody方式
1.@RequestParam
@RequestParam用来修饰参数,可以根据名字与参数进行绑定,相当于 ServletRequest.getParameter()。
http://localhost : 8080/requestparam?name= @ RequestParam&age=2.
2.@PathVariable
@PathVariable用来修饰参数,用于获取URL上的值。
http://localhost:8080/pathvariable/@PathVariable 方式/3
3.@ResponseBody
@ResponseBody用来修饰类或方法。在修饰方法时,该方法以JSON格式返 回数据;在修饰类时,该类下的所有方法默认都以JSON格式返回数据。
http://localhost:8080/requestbody,将Content-Type 设置为application/json
Handler,也就是处理器,它直接对应着MVC中的C层,即Controller层,它可以表现为多种形式,可以是类,也可以是方法或者是其他的形式,它的类型是Object。我们用的最多的就是用@RequestMapping注解标注的方法,它就对应着一个Handler。
HandlerMapping为处理器映射。DispatcherServlet调用HandlerMapping,HandlerMapping根据请求url查找Handler。
HandlerExecution表示具体的Handler,其主要作用是根据url查找控制器
HandlerAdapter处理器适配器,其按照特定的规则去执行Handler
DispatcherServlet最核心的方法是doDispatch。doDispatch主要做了4件 事:
-
根据请求找到Handler
-
根据Handler找到对应的HandlerAdapter
-
用HandlerAdapter处理Handler
-
处理经过以上步骤的结果