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

  注解的映射器:

  在 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" />

处理器映射器(HandlerMapping)及处理器适配器(HandlerAdapter)详解(二)的更多相关文章

  1. springmvc 源码分析(三) -- 自定义处理器映射器和自定义处理器适配器,以及自定义参数解析器 和错误跳转自定页面

    测试环境搭建: 本次搭建是基于springboot来实现的,代码在码云的链接:https://gitee.com/yangxioahui/thymeleaf.git DispatcherServlet ...

  2. SpringMVC入门案例及请求流程图(关于处理器或视图解析器或处理器映射器等的初步配置)

    SpringMVC简介:SpringMVC也叫Spring Web mvc,属于表现层的框架.Spring MVC是Spring框架的一部分,是在Spring3.0后发布的 Spring结构图 Spr ...

  3. SpringMVC由浅入深day01_3非注解的处理器映射器和适配器

     3 非注解的处理器映射器和适配器 3.1 非注解的处理器映射器 3.1.1 HandlerMapping处理器映射器 HandlerMapping 负责根据request请求找到对应的Handler ...

  4. 02_springmvc处理器映射器和适配器(补充)

    一.非注解的处理器映射器 HandlerMapping 负责根据request请求找到对应的Handler处理器及Interceptor拦截器,将它们封装在HandlerExecutionChain ...

  5. SpringMVC处理器映射器和方法名称解析器

    所谓配置式开发是指,“处理器类是程序员手工定义的,实现了特定接口的类,然后再在SpringMVC配置文件中对该类进行显式的,明确的注册”的开发方式” 1.处理器映射器HandlerMapping Ha ...

  6. 4.SpringMVC 配置式开发-处理器映射器

    处理器映射器 HandlerMapping HandlerMapping 接口负责根据request请求找到对应的Handler处理器及Interceptor拦截器, 并将它们封装在HandlerEx ...

  7. SpringMVC源码剖析2——处理器映射器

    1.处理器映射器 HandlerMapping 一句话概括作用: 为 我 们 建 立 起 @RequestMapping 注 解 和 控 制 器 方 法 的 对 应 关 系 . 怎么去查看 第一步: ...

  8. springmvc03 非注解和注解处理器映射器和适配器

    1其它非注解处理器映射器和适配器 .1BeanNameUrlHandlerMapping(映射器) 根据请求url(XXXX.action)匹配spring容器bean的 name 找到对应的bean ...

  9. spring_配置处理器对象、处理器映射器、处理器适配器、视图解析器

    创建spring配置文件:application-context.xml. 创建处理器类 package com.lanou.demo.controller;public class BookCont ...

随机推荐

  1. 泛型种树(generic) 代码

    再这个案例中我们,为什么要使用泛型约束 使用约束的原因 约束指定类型参数的功能和预期. 声明这些约束意味着你可以使用约束类型的操作和方法调用. 如果泛型类或 方法对泛型成员使用除简单赋值之外的任何操作 ...

  2. Oracle之关系型数据库

    什么是关系型数据库? (1)关系型数据库是依据关系模型来创建的数据库. (2)所谓关系模型就是"一对一.一对多.多对多"等关系模型,关系模型就是指二维表格模型,因而一个关系型数据库 ...

  3. Python 爬取 "王者荣耀.英雄壁纸" 过程中的矛和盾

    1. 前言 学习爬虫,最好的方式就是自己编写爬虫程序. 爬取目标网站上的数据,理论上讲是简单的,无非就是分析页面中的资源链接.然后下载.最后保存. 但是在实施过程却会遇到一些阻碍. 很多网站为了阻止爬 ...

  4. C# 反编译工具之ILSpy

    下载地址:http://ilspy.net/ 中文版下载地址:http://www.fishlee.net/soft/ilspy_chs 对dll和exe文件反编译:

  5. 矩池云上使用nvidia-smi命令教程

    简介 nvidia-smi全称是NVIDIA System Management Interface ,它是一个基于NVIDIA Management Library(NVML)构建的命令行实用工具, ...

  6. mybatis介绍--基于个人学习JavaWeb的使用

    mybatis介绍 该博文放在javaWeb系列下,目的是记录我们javaWeb阶段所学的知识 @time=2022/3/11/11:52(最近休息玩了两天,今天重新启动生活) 一.mybatis发展 ...

  7. min_25 筛学习小记

    min_25筛 由 dalao min_25 发明的筛子,据说时间复杂度是极其优秀的 \(O(\frac {n^{\frac 3 4}} {\log n})\),常数还小. 1. 质数 \(k\) 次 ...

  8. MYSQL如何在创建表时添加判断条件

    大家好,我是小皓. 一.背景 今天在博主练习MYS创建表操作时遇到一个语法报错,就想着来和大家分享一下MYSQL如何在创建表时添加判断条件: ERROR 1064 (42000): You have ...

  9. python关于openpyxl库的常用使用介绍

    from openpyxl import load_workbook #只能加载已存在的表格 wb=load_workbook("D:\zhijing_work\测试数据\测试文件\yeta ...

  10. IIS 虚拟目录 VS 站点

    1.虚拟目录是站点的一个子目录,虚拟目录是建立在站点下面的. 2.一个站点下面,可以建立多个虚拟目录.各个虚拟目录都是以虚拟目录名称来进行区分. 3.新建的独立站点就和IIS中的默认站点一样,各个站点 ...