(七)RequestMapping 和 Controller方法

版权声明:转载请给出原文链接 https://blog.csdn.net/youngyouth/article/details/82736834

RequestMapping功能

  1. url映射

    在定义 Controller 的,我们在方法上面,使用 @RequestMapping("/queryItems3") 进行 url 的映射 ;


  2. 窄化请求路径

    RequestMapping 不仅可以使用在方法上面,还可以使用在类上面,这样进行地址映射的时候,会进行拼接,将类上面的 RequestMapping 和 方法上面的 RequestMapping 进行拼接 ;这样做,也叫 窄化请求路径


  3. 限制请求方法

     @RequestMapping(value = "/queryItems3",method = {RequestMethod.GET ,RequestMethod.POST})
    

    method 方法的参数,就是运行的方法,不在此的请求方法,进行请求,是不会响应的 ;

requestMapping 映射成功以后,就会生成一个 Handler 对象,一个 handler 对象中,只含有一个方法 ;

也就是一个 controller 会生成多个 handler 对象 ;

springMvc 是面向方法的 ,而非面向类


controller 方法返回值

  1. ModelAndView

    在方法内部定义 modelAndView,将数据和视图,都放在其中,然后返回 ;


  2. String

    如果返回 string ,则该字符串,代表视图的逻辑名 ;其中视图的真实路径 = 前缀 + 逻辑名字 + 后缀 ;但是此时,假如我们想要传数据到视图中,则方法的参数需要是 model ,我们将数据添加到此 model 中 ;

    还可以完成转发(forward:),在逻辑视图前面加上 forward:,比如 forward: xxx ;

    重定向是一个操作,在逻辑视图前面加上 redirect:, 比如 redirect: xxx ;


  3. void

    此时,可以在为方法添加参数 request、response ,利用它们完成forward、redirect,这时候,还可以控制返回值的格式 ;

    handler 的返回值为 void 方法,且我们不返回视图时候,默认会跳到以 requestMapping 的值,为逻辑视图的视图 ;

其中 Controller 方法的参数,不是想要啥来啥的,是要进行参数绑定的 ;

猜你喜欢

转载自blog.csdn.net/youngyouth/article/details/82736834
今日推荐