第三章、SpringMvc内容浅析————注解映射器和非注解映射器?

1、非注解的处理器,映射器,和适配器

非注解处理器映射器

< bean class="org.springframework.web.servlet.handler.BeanNameUrlHandlerMapping"/>
    <!--简单url映射  -->
    <bean class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping">
        <property name="mappings">
            <props>
                <!-- 对itemsController1进行url映射,url是/queryItems1.action -->
                <prop key="/queryItems1.action">itemsController1</prop>
                <prop key="/queryItems2.action">itemsController1</prop>
                <prop key="/queryItems3.action">itemsController2</prop>
            </props>
        </property>
    </bean>

这里写图片描述

<!-- 对itemsController1进行url映射,url是/queryItems1.action -->
一个bean可以拥有多个URL

访问第一个原有的Url
这里写图片描述

访问第二个Url
这里写图片描述

多个映射器可以并存,前端控制器会判断URL能让那些映射器处理就让那些处理

非注解的处理适配器

<!-- 处理器适配器所有的处理器适配器都实现HandlerAdapter接口-->
<bean class="org.springframework.web.servlet.mvc.SimpleControllerHandlerAdapter"/>
**编写的Handler实现Controller接口**

<!-- 另一个非注解的适配器 -->
<bean class="org.springframework.web.servlet.mvc.HttpRequestHandlerAdapter"/>
**编写的Handler实现HttpRequestHandler接口**

这里写图片描述

项目启动访问

这里写图片描述

总结

映射器就是根据URL来找Handler,适配器就是根据要求执行Handler

2、注解的处理器映射器和适配器

在spring 3.1之前使用的是

org.springframework.web.servlet.mvc.annotation.DefaultAnnotationHandlerMapping  注解适配器

在spring 3.1之后使用的是

org.springframework.web.servlet.mvc.method.RequestMappingInfoHandlerMapping  注解适配器

配置注解的映射器和适配器

这里写图片描述

mvc:annotation-driven
这里写图片描述

编写注解Handler

//使用Controller标识他是一个控制器
@Controller
public class ItemsController3 {
    //商品查询列表
    //@RequestMapping的核心功能主要实现对queryItems方法和url进行映射,一个方法对应一个Url
    //一般建议将url与方法名相同便于维护
    @RequestMapping("/queryItems")
    public ModelAndView queryItems()throws Exception{
        // 调用service查找数据库,查询商品列表,使用静态数据模拟
        List<Items> itemsList = new ArrayList<Items>();
        //向list中填充静态数据
        Items items_1 = new Items();
        items_1.setName("小米手机");
        items_1.setPrice(7000f);
        items_1.setDetail("这是一部小米手机");

        itemsList.add(items_1);
        //返回ModelAndView
        ModelAndView modelAndView = new ModelAndView();
        //相当于request的setAttribut,在jsp页面中通过itemsList来取数据
        modelAndView.addObject("itemsList",itemsList);
        //指定视图
        modelAndView.setViewName("/WEB-INF/jsp/items/itemsList.jsp");

        return modelAndView;
    }
}

在Spring 容器中加载Handler
这里写图片描述

通过控制器中的Url进行访问
这里写图片描述

启动Tomcat进行访问
这里写图片描述

本篇主要介绍了spring-Mvc下注解和非注解,映射器以及适配的配置和使用方式。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值