• springmvc 之 使用注解开发springmvc


    1. controller映射的几种方式:

    •    BeanNameUrlHandlerMapping
      <!-- 配置handlerMapping -->
          <bean class="org.springframework.web.servlet.handler.BeanNameUrlHandlerMapping"/>
          <!-- 配置后端控制器 -->
          <bean name="/hello.do" class="cn.wh.controller.HelloController"></bean>
    • ControllerClassNameHandlerMapping
      <!-- 配置handlerMapping -->
          <bean class="org.springframework.web.servlet.mvc.support.ControllerClassNameHandlerMapping"></bean>
          <!-- 配置后端控制器 
              以hello*.do开头的请求都被处理
          -->
          <bean name="helloController" class="cn.wh.controller.HelloController"></bean>
    • SimpleUrlHandlerMapping
      <!-- 配置handlerMapping -->
          <bean class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping">
              <property name="mappings">
                  <props>
                      <!-- key配置url,value配置的是beanName -->
                      <prop key="/hello.do">helloController</prop>
                  </props>
              </property>
          </bean>
          <!-- 配置后端控制器 -->
          <bean name="helloController" class="cn.wh.controller.HelloController"></bean>
    • 使用注解进行映射

    2. 使用注解开发:

      处理器:

    /**
     * 使用注解开发springmvc
    * @Controller 声明控制器
     */
    @Controller
    /**
     * 窄化
     */
    @RequestMapping("/user")
    public class HelloController {
        /**
         * @RequestMapping 声明映射配置
         * value 指定url,可以指定多个url
         * method 指定请求方法,如果填写了method,那么该方法只能处理指定的请求方法
         */
        @RequestMapping(value="/hello.do",method=RequestMethod.GET)
        public ModelAndView hello(){
            System.out.println("hello annotation");
            ModelAndView mv=new ModelAndView("hello");
            mv.addObject("msg", "annotation application");
            return mv;
        }
    }

    配置文件:

    <!-- 配置注解适配器
            该适配器 使用DefaultAnnotationHandlerMapping来进行映射,该映射器不用配置
         -->
        <bean class="org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter"></bean>
        <!-- 配置视图解析器 -->
        <bean id="viewResolver"
            class="org.springframework.web.servlet.view.UrlBasedViewResolver">
            <property name="viewClass" value="org.springframework.web.servlet.view.JstlView"/>
            <!-- 前缀  在视图名前加上前缀 -->
            <property name="prefix" value="/WEB-INF/jsp/"/>
            <!-- 后缀  在视图名后加上后缀 -->
            <property name="suffix" value=".jsp"/>
        </bean>
        <!-- 配置扫描器 -->
        <context:component-scan base-package="cn.wh.controller"/>

    在配置注解时,可以使用新的适配器和映射器:

    <!-- 映射器 -->
        <bean class="org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerMapping"></bean>
        <!-- 适配器 -->
        <bean class="org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter"></bean>

    也可以使用

    <mvc:annotation-driven/>
  • 相关阅读:
    TYVJ 2002 扑克牌 题解
    TYVJ P1933 绿豆蛙的归宿 题解(未完成)
    TYVJ-P1864 守卫者的挑战 题解
    HDU 4901 The Romantic Hero 题解——S.B.S.
    OpenJudge 8782 乘积最大——S.B.S
    COGS 08-备用交换机 题解——S.B.S.
    poj2186 Popular Cows 题解——S.B.S.
    高级c++头文件bits/stdc++.h
    #include &lt;NOIP2010 Junior&gt; 三国游戏 ——using namespace wxl;
    NOIP 2008提高组第三题题解by rLq
  • 原文地址:https://www.cnblogs.com/forever2h/p/6801913.html
Copyright © 2020-2023  润新知