springmvc 中 注解驱动:<mvc:annotation-driven>的作用和使用

一.概述作用

在spring mvc的各个组件种,处理器映射器、处理器适配器、视图解析器成为spring mvc的三大组件

1. Spring MVC用来提供Controller请求转发,json自动转换等功能。,默认会帮我们注册默认处理请求,参数和返回值的类。


2.默认底层会集成jackson进行对象或集合的json格式字符串的转换,且使用它时候,自动加载ReuestMappingHandlerMapping(处理映射器)
和RequestMappingHandlerAdapter(处理适配器)

3.在spirng-xml的配置文件中使用替代注解处理器和适配器的配置

二.使用场景

1.会自动注册RequestMappingHandlerMapping与RequestMappingHandlerAdapter两个Bean,这是Spring MVC为@Controller分发请求所必需的,并且提供了数据绑定支持,@NumberFormatannotation支持,@DateTimeFormat支持,@Valid支持读写XML的支持(JAXB)和读写JSON的支持(默认Jackson)等功能。

2.数据返回响应:

2.1 当我们需要controller返回一个 javabean,list,map等数据的json对象时,可以设定

2.2 静态资源的访问时,

一开始我在写配置的时候,只写了,并没有使用,servlet拦截*.do,.do请求可以被正确捕捉和处理。

后来为了解决静态资源访问的问题,servlet改成了拦截所有请求,即/,并添加了默认的servlet,这时候*.do请求不能被控制器捕捉了,页面错误为404。直到添加了之后,.do请求才又能被正确捕捉和处理。

参考:https://blog.csdn.net/qq_35029061/article/details/82945761

三.使用案例

1.controller:

    /**
     * @author liujianfu
     * @description       方法10:配置springmvc 让框架自动转成json串
     * @date 2021/1/10 14:44
     * @param
     * @return org.springframework.web.servlet.ModelAndView
     */
    @RequestMapping("/product10")
    @ResponseBody  //告诉springmvc 不进行页面跳转,直接进行数据返回响应,方法返回的字符串不是跳转而是直接在http响应体种返回。
    public User productDemo10(HttpServletResponse response) throws IOException {
        System.out.println("进入controoler10层.....");
        User u=new User();
        u.setAge(344);
        u.setUserName("ljf");
        return u;
    }

2. spring mvc注解驱动的配置



    
    
        
        
    
    
    
        
        
    
   
    
    
    

图片截图:

springmvc 中 注解驱动:<mvc:annotation-driven>的作用和使用_第1张图片

3.页面访问:

springmvc 中 注解驱动:<mvc:annotation-driven>的作用和使用_第2张图片

 

你可能感兴趣的:(spring,mvc)