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/>
原文地址:https://www.cnblogs.com/forever2h/p/6801913.html