文档章节

SpringMVC - 非注解的处理器映射器和适配器

lemos
 lemos
发布于 2016/11/18 09:50
字数 421
阅读 169
收藏 1

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

  • 提供的处理器有两个属性。一个是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

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

本文转载自:http://blog.csdn.net/qq_34232804/article/details/53152525

共有 人打赏支持
lemos
粉丝 8
博文 184
码字总数 92482
作品 0
芜湖
后端工程师
私信 提问
SpringMVC架构原理分析

springmvc框架原理(掌握) 前端控制器、处理器映射器、处理器适配器、视图解析器 springmvc入门程序 目的:对前端控制器、处理器映射器、处理器适配器、视图解析器学习;非注解的处理器映射...

小小蒜头
2017/11/30
0
0
SpringMVC知识梳理(一)

什么是SpringMVC SpringMVC其实就是spring框架的一个模块,SpringMVC和spring之间可以无缝整合,SpringMVC也是一个非常优秀的基于MVC的web框架,什么是MVC这里就不多说了,下面来了解一下spr...

iHuawen
2017/12/28
0
0
从 Spring Boot到 Spring MVC(注解方式)

概述 在前文《从SpringBoot到SpringMVC(非注解方式)》之中,我们远离了 Spring Boot的开箱即用与自动配置的便利性后,回归到了淳朴的 Spring MVC开发时代,但是以非注解的方式来给出的,而...

CodeSheep
2018/12/25
0
0
springmvc学习笔记(5)-入门程序小结

springmvc学习笔记(5)-入门程序小结 标签: springmvc [TOC] 通过入门程序理解springmvc前端控制器、处理器映射器、处理器适配器、视图解析器用法。并附上入门程序的非注解的完整的配置文件,...

brianway
2016/03/10
87
0
springmvc学习笔记(3)-注解的处理器映射器和适配器

springmvc学习笔记(3)-注解的处理器映射器和适配器 标签: springmvc [TOC] 本文主要介绍注解的处理器映射器和适配器相关配置 默认加载 前端控制器从件中加载处理器映射器、适配器、视图解析...

brianway
2016/03/09
124
0

没有更多内容

加载失败,请刷新页面

加载更多

day27:expect批量杀进程|

1、linux下当前目录有一个文件ip-pwd.ini,内容如下: [root@localhost_002 shell100]# cat ip-pwd.ini 10.111.11.1,root,xyxyxy10.111.11.2,root,xzxzxz10.111.11.3,root,12345610.......

芬野de博客
45分钟前
2
0
分布式之数据库和缓存双写一致性方案解析(二)

引言 该文是对《分布式之数据库和缓存双写一致性方案解析》,一文的补充。博主在该文中,提到了这么一句话 应该没人问我,为什么没有先更新缓存,再更新数据库这种策略。 博主当时觉得,这种...

hensemlee
50分钟前
3
0
druid安装与案例

druid 可以运行在单机环境下,也可以运行在集群环境下。简单起见,我们先从单机环境着手学习。 环境要求 java7 或者更高版本 linux, macOS或者其他unix系统(不支持windows系统) 8G内存 2核C...

hblt-j
56分钟前
0
0
bejson上线 gif转帧工具。

说道这个工具,不得不提一句经典格言“色Q是推动科技发展的动力” 有人发了这个图,我和所有人一样想看到那个瞬间。 当然,我没有PS,有没有太好的转帧工具,但是这并不妨碍我是一个技术死肥...

废柴大叔
57分钟前
0
0
详解利用clear清除浮动的一些问题解决

下面这段代码是用来清除浮动带来的高度塌陷问题 .clearfix:before { content: "."; display: block; height: 0; clear: both; visibility: hidden;} Quest......

前端小攻略
今天
1
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部