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),可以将其定义在方法上也可以将其定义在类上。
  • 相关阅读:
    通用权限管理设计 之 数据库结构设计
    jQuery LigerUI 插件介绍及使用之ligerDateEditor
    jQuery LigerUI 插件介绍及使用之ligerTree
    jQuery LigerUI V1.01(包括API和全部源码) 发布
    jQuery liger ui ligerGrid 打造通用的分页排序查询表格(提供下载)
    jQuery LigerUI V1.1.5 (包括API和全部源码) 发布
    jQuery LigerUI 使用教程表格篇(1)
    jQuery LigerUI V1.0(包括API和全部源码) 发布
    jQuery LigerUI V1.1.0 (包括API和全部源码) 发布
    nginx keepalived
  • 原文地址:https://www.cnblogs.com/ustc-anmin/p/10462810.html
Copyright © 2011-2022 走看看