Springmvc框架(非注解与注解)

来源:互联网 发布:idp诺思留学知乎 编辑:程序博客网 时间:2024/06/08 11:28

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

  • org.springframework.web.servlet.handler.BeanNameUrlHandlerMapping
!-- 处理器映射器          将bean的name作为url进行查找,需要在配置Handler是指定beanname(就是url)    -->    <bean class = "org.springframework.web.servlet.handler.BeanNameUrlHandlerMapping"/> 
  • 简单url映射
    org.springframework.web.servlet.handler.SimpleUrlHandlerMapping,多个映射器可以并存,也就是前端控制器判断url能让哪些映射器映射,就让哪些映射器处理
<!-- 简单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>
  • 非注解的适配器
  • org.springframework.web.servlet.mvc.SimpleControllerHandlerAdapter
    要求编写的Handler实现controller接口
<!-- 处理器适配器    所有的处理器适配器都实现HandlerAdapter接口     --> <bean class = "org.springframework.web.servlet.mvc.SimpleControllerHandlerAdapter"/> 
  • org.springframework.web.servlet.mvc.HttpRequestHandlerAdapter

要求编写的handler实现HttpRequestHandler接口

<!-- 另一个非注解的适配器 -->    <bean class = "org.springframework.web.servlet.mvc.HttpRequestHandlerAdapter"/> 

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

使用注解的映射器和注解的适配器(注解的映射器和适配器必须配对使用),在spring容器中加载Handler(使用组件扫描)
1. 注解的处理器映射器与适配器

<!-- 注解映射器 -->    <!-- <bean class ="org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerMapping"/> -->    <!-- 注解的适配器 -->    <!-- <bean class ="org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter"/> -->
  1. 注解的处理器映射器与适配器
<mvc:annotation-driven ></mvc:annotation-driven>
  1. 组件扫描
<!-- 可以扫描controller、service.... -->    <!-- <bean class = "com.shagou.ssm.controller.ItemsController3"/> -->     <context:component-scan base-package="com.shagou.ssm.controller"></context:component-scan> 

视图解析器前缀和后缀

<!-- 配置jsp路径的前缀和后缀 -->        <property name="prefix" value = "/WEB-INF/jsp/"></property>        <property name="suffix" value = ".jsp"></property>        //下边的路径如果在视图解析器中配置了jsp前缀和jsp后缀,修改为    //modelAndView.setViewName("/WEB-INF/jsp/items/itemsList.jsp");    //上边路径可以不再程序中配置    modelAndView.setViewName("items/itemsList");