为什么80%的码农都做不了架构师?>>>   

一、非注解的处理器映射器

  • 提供的处理器有两个属性。一个是id属性,一个是name属性。分别对应两种不同的映射器。
<bean id = "itemsController2" name="/queryItems.action" class="club.lemos.ssm.controller.ItemsController1"/>
  • BeanNameUrlHandlerMapping
<bean class="org.springframework.web.servlet.handler.BeanNameUrlHandlerMapping"/>
  • SimpleUrlHandlerMapping
<!-- 简单url映射 处理器映射器 -->
<bean class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping"><property name="mappings"><props><prop key="/queryItems1.action">itemsController2</prop><prop key="/queryItems2.action">itemsController2</prop></props></property>
</bean>

结论:一个 Handler,可以有多个映射器,一个映射器也可以有多个url.
注意:所有的映射器都实现了HandlerMapping接口。

二、非注解的处理器适配器

  • SimpleControllerHandlerAdapter
<bean class="org.springframework.web.servlet.mvc.SimpleControllerHandlerAdapter"/>

要求编写的Handler实现Controller接口

  • HttpRequestHandlerAdapter
<bean class="org.springframework.web.servlet.mvc.HttpRequestHandlerAdapter"/>

要求编写的Handler 实现 HttpRequestHandler接口。
Handler的实现如下:

public class ItemsController2 implements HttpRequestHandler{public void handleRequest(HttpServletRequest httpServletRequest,HttpServletResponse httpServletResponse) throws ServletException, IOException {// 调用service 查找数据库,查询商品列表。这里使用静态数据模拟List<Items> itemsList = new ArrayList<Items>();Items items_1 = new Items();items_1.setName("联想笔记本");items_1.setPrice(6000f);items_1.setDetail("ThinkpPad T430联想笔记本电脑!");Items items_2 = new Items();items_2.setName("苹果手机");items_2.setPrice(5000f);items_2.setDetail("iphone6 苹果手机!");itemsList.add(items_1);itemsList.add(items_2);//设置模型数据httpServletRequest.setAttribute("itemsList",itemsList);//设置转发的视图httpServletRequest.getRequestDispatcher("WEB-INF/jsp/items/itemsList.jsp").forward(httpServletRequest,httpServletResponse);// 使用此方法可以通过修改 response,设置响应数据格式,比如响应json数据
// httpServletResponse.setCharacterEncoding("utf-8");
// httpServletResponse.setContentType("application/json;charset=utf-8");
// httpServletResponse.getWriter().write("json串");}
}

三、 DispatcherServlet.properties

前端控制器默认从DispatcherServlet.properties 文件中加载映射器、适配器、图形解析器等组件。也就是说如果你不在dispatcher-servlet.xml中额外配置,那么就加载这个文件中的默认配置。

转载于:https://my.oschina.net/lemos/blog/790122

SpringMVC - 非注解的处理器映射器和适配器相关推荐

  1. 【SpringMVC框架】非注解的处理器映射器和适配器

    非注解的处理器映射器和适配器 1.非注解的处理器映射器 之前的处理器映射器: org.springframework.web.servlet.handler.BeanNameUrlHandlerMap ...

  2. 非注解和注解的处理器映射器和适配器---SpringMVC学习笔记(三)

    非注解的处理器映射器和适配器 非注解的处理器映射器 之前的入门Demo中使用的就是非注解的处理器映射器: org.springframework.web.servlet.handler.BeanNam ...

  3. SpringMVC学习记录二——非注解和注解的处理器映射器和适配器

    3      非注解的处理器映射器和适配器 3.1      非注解的处理器映射器 处理器映射器: org.springframework.web.servlet.handler.BeanNameUr ...

  4. 【SpringMVC框架】注解的处理器映射器和适配器配置

    下面我们来探讨注解的处理器映射器和适配器 1.注解的处理器映射器和适配器 在spring3.1之前使用org.springframework.web.servlet.mvc.annotation.De ...

  5. SpringMVC 配置注解的映射器、适配器(重点)

    开发中实际用到的方式,是配置注解的映射器适配器. >配置 mvc:annotation-driven元素 在3.1之后的注解的处理器映射器.适配器添加了很多的优化以及参数设置,所以在开发时,推荐 ...

  6. SpringMvc 03 非注解形式下的映射器与适配器

        1,映射器 1.1 ControllerBean +BeanNameUrlHandlerMapping              其中ControllerBean 需要指明name(url)通 ...

  7. SpringMVC 处理器映射器详解

    0x00:介绍 关于 SPring MVC 的详细介绍可参考之前的文章,SpringMVC 工作原理. 在 SpringMVC 中,处理器映射器有两种配置方式,一种是基于 XML 的资源配置,也就是常 ...

  8. SpringMvc 04 基于注解的映射器与适配器配置

    SpringMvc的两种基于注解的映射器与适配器配置: 1.通过显式的配置映射器与适配器,并通过自动扫描标签去加载Controller类. <?xml version="1.0&quo ...

  9. SpringMVC处理器映射器HandlerMapping

    前言 在SpringMVC中会有很多请求,每个请求都需要一个HandlerAdapter处理,具体接收到一个请求之后使用哪个HandlerAdapter进行处理呢,他们的过程是什么.本文将对此问题进行 ...

最新文章

  1. 找Java培训机构需要注意那些
  2. 习惯几乎可以绑住一切,只是不能绑住偶然。比如那只偶然尝了鲜血的老虎。...
  3. Python图片操作-psd_tools:将psd文件转换成BMP
  4. 使用Excel导入数据到SAP Cloud for Customer系统
  5. ar软件测试工具_如何为用户测试制作快速的AR原型
  6. Xamarin For Android 打包编译APK文件详细图文教程
  7. delphi ini文件的基础读写。
  8. Rust : 闭包、move、复制与移动语义
  9. 【水果识别】基于matlab GUI苹果质量检测及分级系统(带面板)【含Matlab源码 1613期】
  10. 思科、华为等四大厂商网络工程师面试题汇总+解析(第1期)
  11. 前奈飞 CTO 两年吃回扣上百万,将面临数十年监禁
  12. 全栈学习的知识点梳理(一)
  13. 小红书商品详情API接口(商品详情页面数据接口)
  14. JMeter基础系列(八) JMeter断言之JSON断言
  15. 计算机卡怎么解决,电脑卡怎么办,详细教您电脑卡怎么解决
  16. 程序员外包被骂:以为自己是开发?你就是打杂的杂狗!
  17. Vue2.x - Vue Router
  18. 计算机贴保密标识,保密标贴粘贴位置说明
  19. 微信视频号如何直播游戏效果最好?教你最简单的方法
  20. win10可以开发android,Win10手机真能运行Android/iOS程序?如何实现?

热门文章

  1. Spring MVC中handlerMapping的设计
  2. The Report(连接查询)
  3. java中的内部接口
  4. VS2005的Command Window 调试命令的总结(转载)
  5. Unity 类似FingerGestures 的相机跟随功能
  6. Lightoj1014【基础题】
  7. Tomcat、Websphere和Jboss类加载机制
  8. Dynamic CRM 2013学习笔记(一)插件输入实体参数解析
  9. MySqlClient访问tinyint字段返回布尔值
  10. [转]SQL Server开发技巧