框架之SpringMVC注解

作者: vaneL | 来源:发表于2017-08-01 15:57 被阅读0次
    controller方法的返回值
    • 返回ModelAndView
    ModelAndView modelAndView = new ModelAndView();
    modelAndView.addObject("itemsList",itemsList);
    return modelAndView;
    
    • 返回字符串
    - 表示返回逻辑视图[jsp路径=前缀+逻辑视图名+后缀]
    return "items/editItems";
    - redirect重定向
    return "refirect:queryItems.action";
    - forward页面转发
    return "forward:queryItems.action";
    
    • 返回void
      在controller方法形参上定义request和response

    @Controller 负责注册一个bean
    @RequestMapping 为控制器指定可以处理哪些 URL 请求
    @RequestBody 用于读取Request请求的body部分数据,使用系统默认配置的HttpMessageConverter进行解析,然后把相应的数据绑定到要返回的对象上 ,再把HttpMessageConverter返回的对象数据绑定到 controller中方法的参数上
    @ResponseBody 用于将Controller的方法返回的对象,通过适当的HttpMessageConverter转换为指定格式后,写入到Response对象的body数据区
    @ModelAttribute 在方法的入参前使用 @ModelAttribute 注解:可以从隐含对象中获取隐含的模型数据中获取对象,再将请求参数绑定到对象中,再传入入参将方法入参对象添加到模型中
    @RequestParam 可以把请求参数传递给请求方法
    @PathVariable 绑定 URL 占位符到入参
    @ExceptionHandler 出现异常时会执行该方法
    @ControllerAdvice 使一个Contoller成为全局的异常处理类,类中用@ExceptionHandler方法注解的方法可以处理所有Controller发生的异常

    @RequestMapping

    value: 指定请求的实际地址
    method: 指定请求的method类型, GET、POST、PUT、DELETE等;
    params: 指定request中必须包含某些参数值是,才让该方法处理。
    headers: 指定request中必须包含某些指定的header值,才能让该方法处理请求。

    @ModelAttribute

    @ModelAttribute通常使用在Controller方法的参数注解中,用于解释model entity,但同时,也可以放在方法注解里。
    如果把@ModelAttribute放在方法的注解上时,代表的是:该Controller的所有方法在调用前,先执行此@ModelAttribute方法。

    @RequestParam

    test(String name),如果没有name 参数不会报错
    test(@RequestParam String name),没有name 参数会报错,(也可以设置required = false)
    test(@RequestParam("userName") String name)
    第三种跟第二种的区别是 请求的参数名userName转换成方法的参数name

    全局异常1:

    @ControllerAdvice
    public class testControllerAdvice {
        @ExceptionHandler
        public ModelAndView exceptionHandler(Exception ex){
            ModelAndView mv = new ModelAndView("error");
            mv.addObject("exception", ex);
            System.out.println("in testControllerAdvice");
            return mv;
        }
    }
    

    全局异常2:

    <!-- configure SimpleMappingExceptionResolver -->
    <bean class="org.springframework.web.servlet.handler.SimpleMappingExceptionResolver">
        <property name="exceptionMappings">
            <props>
                <prop key="java.lang.ArithmeticException">error</prop>
            </props>
        </property>
    </bean>
    

    相关文章

      网友评论

        本文标题:框架之SpringMVC注解

        本文链接:https://www.haomeiwen.com/subject/mqvjlxtx.html