zoukankan      html  css  js  c++  java
  • SpringMVC注解配置处理器映射器和处理器适配器

    一、springmvc.xml中配置方式

    1 <!--注解映射器 -->
    2     <bean class="org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerMapping"/>
    3     <!--注解适配器 -->
    4     <bean class="org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter"/>
    View Code
    1     <!-- 使用 mvc:annotation-driven代替上边注解映射器和注解适配器配置
    2     mvc:annotation-driven默认加载很多的参数绑定方法,
    3     比如json转换解析器就默认加载了,如果使用mvc:annotation-driven不用配置上边的RequestMappingHandlerMapping和RequestMappingHandlerAdapter
    4     实际开发时使用mvc:annotation-driven
    5      -->
    6 <mvc:annotation-driven></mvc:annotation-driven> 
    View Code

    二、注解方式开发Controller实例代码

     1 package cn.itcast.ssm.controller;
     2 
     3 import java.util.ArrayList;
     4 import java.util.List;
     5 
     6 import org.springframework.stereotype.Controller;
     7 import org.springframework.web.bind.annotation.RequestMapping;
     8 import org.springframework.web.servlet.ModelAndView;
     9 
    10 import cn.itcast.ssm.po.Items;
    11 
    12 //使用Controller标识 它是一个控制器
    13 @Controller
    14 public class ItemsController3 {
    15     
    16     //商品查询列表
    17     //@RequestMapping实现 对queryItems方法和url进行映射,一个方法对应一个url
    18     //一般建议将url和方法写成一样
    19     @RequestMapping("/queryItems")
    20     public ModelAndView queryItems()throws Exception{
    21         
    22         //调用service查找 数据库,查询商品列表,这里使用静态数据模拟
    23         List<Items> itemsList = new ArrayList<Items>();
    24         //向list中填充静态数据
    25         
    26         Items items_1 = new Items();
    27         items_1.setName("联想笔记本");
    28         items_1.setPrice(6000f);
    29         items_1.setDetail("ThinkPad T430 联想笔记本电脑!");
    30         
    31         Items items_2 = new Items();
    32         items_2.setName("苹果手机");
    33         items_2.setPrice(5000f);
    34         items_2.setDetail("iphone6苹果手机!");
    35         
    36         itemsList.add(items_1);
    37         itemsList.add(items_2);
    38         
    39         //返回ModelAndView
    40         ModelAndView modelAndView =  new ModelAndView();
    41         //相当 于request的setAttribut,在jsp页面中通过itemsList取数据
    42         modelAndView.addObject("itemsList", itemsList);
    43         
    44         //指定视图
    45         //下边的路径,如果在视图解析器中配置jsp路径的前缀和jsp路径的后缀,修改为
    46         //modelAndView.setViewName("/WEB-INF/jsp/items/itemsList.jsp");
    47         //上边的路径配置可以不在程序中指定jsp路径的前缀和jsp路径的后缀
    48         modelAndView.setViewName("items/itemsList");
    49         
    50         return modelAndView;
    51         
    52     }
    53 }
    View Code

    三、在Spring容器中加载Controller

    1     <!-- 对于注解的Handler可以单个配置
    2     实际开发中建议使用组件扫描
    3      -->
    4     <!-- <bean class="cn.itcast.ssm.controller.ItemsController3" /> -->
    5     <!-- 可以扫描controller、service、...
    6     这里让扫描controller,指定controller的包
    7      -->
    8     <context:component-scan base-package="cn.itcast.ssm.controller"></context:component-scan>
    View Code

    tips:使用组件扫描器省去在spring容器配置每个controller类的繁琐。使用<context:component-scan自动扫描标记@controller的控制器类。

    用到的两个注解:

    • @Controller注解:声明一个控制器,组件扫描器会自动找到标有该注解的控制器,并将其声明为Spring 应用上下文中的一个Bean。
    • @RequestMapping注解:@RequestMapping(value="/",method=GET),可以将其定义在方法上也可以将其定义在类上。
  • 相关阅读:
    loadrunner 11安装教程
    测试用例
    软件测试分类
    软件测试模型
    VMware Workstation安装Red hat7.0联网问题总结
    Python网络编程基础pdf
    Python数据可视化编程实战pdf
    Python数据分析实战
    Python数据科学手册
    Python入门经典. 以解决计算问题为导向的Python编程实践
  • 原文地址:https://www.cnblogs.com/ustc-anmin/p/10462810.html
Copyright © 2011-2022 走看看