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的首字母小写类名访问。

  • 相关阅读:
    实现一个圆形进度条
    给你的jQuery项目赋予Router技能吧
    matlab新手入门(四)(翻译)
    matlab新手入门(三)(翻译)
    matlab新手入门(二)(翻译)
    matlab新手入门(一)(翻译)
    安装Matlab出现Error 1935错误解决方法
    Linux Ubuntu下Jupyter Notebook的安装
    lung 分割论文
    链表的回文结构
  • 原文地址:https://www.cnblogs.com/yifanSJ/p/9815127.html
Copyright © 2011-2022 走看看