zoukankan      html  css  js  c++  java
  • springmvc—handlermapping三种映射

    handlermapping负责映射中央处理器转发给controller的映射策略,简单说就是控制中央处理器的请求触发哪一个controller。

    handlermapping的配置也是在springmvc的配置文件中。


    三种映射方式

    1.BeanNameUrlHandlerMapping(默认)
    按照controller的name来映射寻找controlller,它是默认存在的。
        <!-- 配置controller -->
        <bean id="testController"  name="/hello.do" class="com.roy.controller.TestController"/>
        <!-- 按照controller的name来映射寻找controlller,默认存在的 -->
        <beanclass="org.springframework.web.servlet.handler.BeanNameUrlHandlerMapping"></bean>

    2.SimplerUrlHandlerMapping
    使用简单url映射,与默认的映射可以各自独立存在,但是默认的不存在的时候,配置的controller不能使用。
    可以使用此映射来分类配置controller和配置url的各自职责
    <!-- 配置controller -->
    <bean id="testController"  class="com.roy.controller.TestController"/>

    <!-- 按照url来映射 -->
    <bean class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping">
        <property name="mappings">
            <props>
                <prop key="/hello.do">testController</prop>
            </props>
        </property>
    </bean>

    3.contraollerClassNameHandlerMapping
    控制类的类名控制器,访问时类名首字母需要小写,需要加入.do,直接使用controller的首字母小写类名访问
    <bean class="org.springframework.web.servlet.mvc.support.ControllerClassNameHandlerMapping"></bean>

    controller中的代码

    package com.roy.controller;
     
    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;
     
    import org.springframework.web.servlet.ModelAndView;
    import org.springframework.web.servlet.mvc.AbstractController;
     
    public class TestController extends AbstractController {
     
        @Override
        protected ModelAndView handleRequestInternal(HttpServletRequest arg0,
                HttpServletResponse arg1) throws Exception {
            System.out.println("hello controller");
            return new ModelAndView("index");
        }
     
    }
         
    三种hanlermapping的配置。第一种是直接默认存在的,可以不需要在配置文件中配置;第二种可以使用此映射来分类配置controller和配置url的各自职责;第三种直接使用controller的首字母小写类名访问。

  • 相关阅读:
    软件架构师是如何工作
    安装flume由于HBASE出现的错误
    学习记录(Python集合)
    bzoj4199: [Noi2015]品酒大会
    清橙A1484
    codeforces 232D Fence
    bzoj2337: [HNOI2011]XOR和路径
    bzoj3143: [Hnoi2013]游走
    codeforces 235 B. Let's Play Osu!
    bestcoder单调区间
  • 原文地址:https://www.cnblogs.com/yifanSJ/p/9815127.html
Copyright © 2011-2022 走看看