zoukankan      html  css  js  c++  java
  • 处理器映射器(HandlerMapping)及处理器适配器(HandlerAdapter)详解(二)

    注解的 处理器映射器 和 处理器适配器 介绍

      注解的映射器:

      在 Spring3.1使用 DefaultAnnotationHandlerMapping 注解映射器(根据 DispatcherServlet.properties 配置文件中的配置),

      之后使用 RequestMappingHandlerMapping 注解映射器

      注解的适配器:

      在 Spring3.1 之使用 AnnotationMethodHandlerAdapter 注解器适配器(根据 DispatcherServlet.properties 配置文件中的配置),

      之后使用 RequestMappingHandlerAdapter 注解适配器

    配置注解映射器和适配器

      1、xml文件中配置

    <!-- 注解的映射器 -->
    <bean class="org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerMapping" />
    <!-- 注解的适配器 -->
    <bean class="org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter" />
    
    <!-- 使用mvc:annotation-driven 代替上面的注解映射器 和 适配器的配置 mvc:annotation-driven 还默认加载了很多参数绑定方法,比如json转换解析器就默认加载了 
        如果使用mvc:annotation-driven,不用配置RequestMappingHandlerMapping 和 RequestMappingHandlerAdapter 
        实际开发使用 mvc:annotation-driven -->
    <!-- <mvc:annotation-driven></mvc:annotation-driven> -->

      2、开发注解 Handler

      必须使用 注解的映射器注解的适配器 

    // 使用Controller注解来 标识它是一个控制器
    @Controller
    public class UserController3 {
        
        // 用户列表查询
        // @RequestMapping 实现对queryUsers()方法 和 URL 进行映射,一个方法对应一个URL
        // 一般建议将 URL 和 方法 写成一样
        @RequestMapping("/queryUsers")
        public ModelAndView queryUsers() throws Exception{
            ArrayList<User> userlist = new ArrayList<User>();
            User user1 = new User("腾博","123456");
            User user2 = new User("小兵","123456");
            System.out.println("我来了");
            userlist.add(user1);
            userlist.add(user2);
            
            // 返回ModelAndView
            ModelAndView modelAndView = new ModelAndView();
            // 相当于request的setAttribute,在jsp页面中通过userlist取数据
            modelAndView.addObject("userlist", userlist);
            
            // 指定视图
            modelAndView.setViewName("/WEB-INF/jsp/users/user.jsp");
            
            return modelAndView;
        }
        
        // 定义其他的方法
        // 用户的添加
        // 用户的修改
    }

      Handler 的 xml 文件配置

    <!-- 对于注解的 Handler 可以单个配置
        实际开发中建议使用组件扫描
     -->
    <!-- <bean class="com.bjxb.ssm.controller.UserController3"/>     -->
    
    <!-- 组件扫描可以扫描Controller、Service.....
        这里让扫描Controller、指定Controller的包
     --> 
     <context:component-scan base-package="com.bjxb.ssm.controller" />
  • 相关阅读:
    Linux Enterprise Cluster NOtes Ch4 同步:ssh和rsync
    e805上不安装中文外挂支持中文,很简单而且实用
    ARM的一些概念性问题
    C#调用WORD处理的小项目 转
    ASP.NET面试题
    .net清除cookie代码|.net为什么不能清除cookie|.net cookie 过期代码
    c#字符串转数字的函数|c#字符串转数字的无错函数|c#字符串转数字的最好函数
    Wiki简介
    new 和override 重写区别
    禁用IE的后退按钮|显示网页已过期|几种语言的实现方法|c#|javascript|html
  • 原文地址:https://www.cnblogs.com/xb1223/p/10186165.html
Copyright © 2011-2022 走看看