SpringMVC - 非注解的处理器映射器和适配器
为什么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 - 非注解的处理器映射器和适配器相关推荐
- 【SpringMVC框架】非注解的处理器映射器和适配器
非注解的处理器映射器和适配器 1.非注解的处理器映射器 之前的处理器映射器: org.springframework.web.servlet.handler.BeanNameUrlHandlerMap ...
- 非注解和注解的处理器映射器和适配器---SpringMVC学习笔记(三)
非注解的处理器映射器和适配器 非注解的处理器映射器 之前的入门Demo中使用的就是非注解的处理器映射器: org.springframework.web.servlet.handler.BeanNam ...
- SpringMVC学习记录二——非注解和注解的处理器映射器和适配器
3 非注解的处理器映射器和适配器 3.1 非注解的处理器映射器 处理器映射器: org.springframework.web.servlet.handler.BeanNameUr ...
- 【SpringMVC框架】注解的处理器映射器和适配器配置
下面我们来探讨注解的处理器映射器和适配器 1.注解的处理器映射器和适配器 在spring3.1之前使用org.springframework.web.servlet.mvc.annotation.De ...
- SpringMVC 配置注解的映射器、适配器(重点)
开发中实际用到的方式,是配置注解的映射器适配器. >配置 mvc:annotation-driven元素 在3.1之后的注解的处理器映射器.适配器添加了很多的优化以及参数设置,所以在开发时,推荐 ...
- SpringMvc 03 非注解形式下的映射器与适配器
1,映射器 1.1 ControllerBean +BeanNameUrlHandlerMapping 其中ControllerBean 需要指明name(url)通 ...
- SpringMVC 处理器映射器详解
0x00:介绍 关于 SPring MVC 的详细介绍可参考之前的文章,SpringMVC 工作原理. 在 SpringMVC 中,处理器映射器有两种配置方式,一种是基于 XML 的资源配置,也就是常 ...
- SpringMvc 04 基于注解的映射器与适配器配置
SpringMvc的两种基于注解的映射器与适配器配置: 1.通过显式的配置映射器与适配器,并通过自动扫描标签去加载Controller类. <?xml version="1.0&quo ...
- SpringMVC处理器映射器HandlerMapping
前言 在SpringMVC中会有很多请求,每个请求都需要一个HandlerAdapter处理,具体接收到一个请求之后使用哪个HandlerAdapter进行处理呢,他们的过程是什么.本文将对此问题进行 ...
最新文章
- 找Java培训机构需要注意那些
- 习惯几乎可以绑住一切,只是不能绑住偶然。比如那只偶然尝了鲜血的老虎。...
- Python图片操作-psd_tools:将psd文件转换成BMP
- 使用Excel导入数据到SAP Cloud for Customer系统
- ar软件测试工具_如何为用户测试制作快速的AR原型
- Xamarin For Android 打包编译APK文件详细图文教程
- delphi ini文件的基础读写。
- Rust : 闭包、move、复制与移动语义
- 【水果识别】基于matlab GUI苹果质量检测及分级系统(带面板)【含Matlab源码 1613期】
- 思科、华为等四大厂商网络工程师面试题汇总+解析(第1期)
- 前奈飞 CTO 两年吃回扣上百万,将面临数十年监禁
- 全栈学习的知识点梳理(一)
- 小红书商品详情API接口(商品详情页面数据接口)
- JMeter基础系列(八) JMeter断言之JSON断言
- 计算机卡怎么解决,电脑卡怎么办,详细教您电脑卡怎么解决
- 程序员外包被骂:以为自己是开发?你就是打杂的杂狗!
- Vue2.x - Vue Router
- 计算机贴保密标识,保密标贴粘贴位置说明
- 微信视频号如何直播游戏效果最好?教你最简单的方法
- win10可以开发android,Win10手机真能运行Android/iOS程序?如何实现?