SpringMVC常用注解的规则(用法)

SpringMVC注解

 @RequestMapping用法:
    a. 用在controller方法上:
        标记url到请求方法的映射, 其实就是通过一段url地址, 找到对应需要执行的controller方法
    b. 用在controller类上:
        窄化请求映射: 其实就是在类上给url加一层目录, 防止url重名.
    c. 限定请求类型:
        请求类型: get, post, put, delete, option等
        如果没有限制请求类型, 不管get还是post都可以进入到这个方法
        如果限制请求类型, 则只有限定的请求类型才可以进入到这个方法执行
        @RequestMapping(value= "/list", method = RequestMethod.GET)


Controller方法返回值(需要知道如何指定页面的位置, 需要知道如何将数据返回给页面展示)
    a. 返回modelandView:
        可以借助于modelandview里面的方法, 指定页面的位置, 并且将数据放入这个对象, 可以返回到页面展示.
    b. 返回string:
        (1). controller方法返回string字符串, 那么这个字符串就是页面的位置, 数据可以借助于默认支持的参数model,
            将数据放入model中, 就可以返回给页面展示, model底层使用的是request域.
        (2). 请求转发:
            request域中的数据可以带到转发后的方法中, 浏览器中的url不发生改变
            在springMvc中,请求转发, controller方法必须返回string字符串,
            返回的字符串以forward:开头, 后面跟转发后方法的url地址
            例如: return "forward:/items/toEdit.action";
            请求转发可以把数据放入request域中也可以放入model中, 都可以带到转发后的方法中.
        (3). 重定向:
            request域中的数据不可以带到重定向后的方法中, 浏览器中的url发生改变
            controller方法必须返回string字符串, 返回的字符串以redirect:开头后面跟重定向的url地址
            如果向把数据带到重定向后的方法中, 可以把数据放入model中, 就可以带到重定向后的方法中了.
            例如: return "redirect:/items/toEdit.action";
    c. 返回void:
        一般情况不推荐使用:
             只有在ajax调用的时候适应, 因为ajax异步请求, 从哪个页面发送的请求, 响应就会直接返回到哪个页面.
             如果不是ajax请求, 使用返回void, 那么指定页面的位置就需要使用传统的请求转发或重定向写法, 这样就不走视图解析器, 需要写页面的完整路径.
         这样就破坏了springMvc设计的整体流程.

原文地址:https://www.cnblogs.com/sjzxs/p/9502863.html