Spring mvc的介绍及一些相关注解介绍

一、Spring mvc是基于Model2实现的技术框架,利用处理器分离模型、视图和控制。spring mvc框架包括注解驱动器、请求及相应的信息处理、视图解析、本地化解析、上传文件解析、异常处理及表单标签绑定。

二、Spring ​mvc 3.0的新特征:

>>支持REST风格的URL

 (具体可参考:

http://www.360doc.com/content/12/0925/10/7471983_238046800.shtml

使用Spring MVC构建REST风格WEB应用)​​​里面介绍的比较详细,在此感谢windli

简单说明一下:​REST(Representational State Transfer)是一种编程风格,特别是针对网络应用的设计和开发,采用REST可以显著降低开发的复杂性,提高系统的可伸缩性。

使用REST风格开发WEB应用程序强调以下几点规则:

  1. 1.网络上的所有事物都被抽象为资源(resource);
  • 2.每个资源对应一个唯一的资源标识(resource identifier);
  • 3.通过通用的连接器接口(generic connector interface)对资源进行操作;
  • 4.对资源的各种操作不会改变资源标识;
  • 5.所有的操作都是无状态的(stateless)。
  • REST强调资源必须有具有唯一名称和ID,名称用来区分不同资源,ID用来定位同类资源中唯一的一条数据。REST风格URI设计的特点:http://host/context/资源名称/[资源ID]。其中资源名称是必选项,资源ID可省略,省略资源ID用来标识一类资源的所有数据。用HTTP Method(请求方法)标识操作类型:
  • HTTP GET:查询和获取资源;
  • HTTP POST:创建资源;
  • HTTP PUT: 修改资源;
  • HTTP DELETE: 删除资源。

    ​>>添加更多注解,可完全注解驱动

    >>引入HTTP输入输出转换器(HttpMessageConverter)

    >>与数据转换、格式化、验证框架无缝集成

    >>对静态资源处理提供特殊支持

    >>更加灵活的控制器方法签名,可完全独立于Servlet API​

    ​三、Spring mvc和Struts的比较

    1.机制:spring mvc的入口是Servlet

    2.性能:spring会稍微比Struts快。Spring mvc是基于方法的设计,粒度更细。Spring 3 mvc是方法级别的拦截,拦截到方法后根据参数上的注解,把request数据注入进去,在spring3 mvc中,一个方法对应一个request上下文。

    3.参数传递:对于Spring mvc,每个方法都对应各自的属性,互不影响。

    4.Spring3 mvc的验证也是一个亮点,支持JSR303​(JSR 303 – Bean Validation 是一个数据验证的规范,2009 年 11 月确定最终方案。2009 年 12 月 Java EE 6 发布,Bean Validation 作为一个重要特性被包含其中。),处理ajax的请求更是方便,只需一个注解@ResponseBody,然后直接返回响应文本即可。

    5.对于线程安全问题的处理:Spring mvc是方法级别的,请求参数什么的都在方法的参数上,因而不存在线程安全问题。​

    四、Spring mvc常用的一些注解

    >>@Controller​

    ​第一个Controller:

    package com.minx.crm.web.controller;

    import org.springframework.stereotype.Controller;

    import org.springframework.web.bind.annotation.RequestMapping;

    @Controller

    public class IndexController {

        @RequestMapping("/index")

        public String index() {

            return "index";

        }

    }

    @Controller注解标识一个控制器,@RequestMapping注解标记一个访问的路径(/index.htm),return "index"标记返回视图(index.jsp);

    注:如果@RequestMapping注解在类级别上,则表示一相对路径,在方法级别上,则标记访问的路径。

    >>​@RequestMapping(value="/index.htm"),这代表映射路径。

    >>@RequestParam 注解获取GET请求或POST请求提交的参数。​

    >>​@CookieValue 注解获取Cookie的值。

    >>@Autowired 注解​实现自动装配

          最后,提供一个链接:http://www.oschina.net/question/84460_9608(基于注解的Spring MVC简单入门)​,讲解的很清楚,大家可以去看看。

     

    • 0
      点赞
    • 0
      收藏
      觉得还不错? 一键收藏
    • 0
      评论

    “相关推荐”对你有帮助么?

    • 非常没帮助
    • 没帮助
    • 一般
    • 有帮助
    • 非常有帮助
    提交
    评论
    添加红包

    请填写红包祝福语或标题

    红包个数最小为10个

    红包金额最低5元

    当前余额3.43前往充值 >
    需支付:10.00
    成就一亿技术人!
    领取后你会自动成为博主和红包主的粉丝 规则
    hope_wisdom
    发出的红包
    实付
    使用余额支付
    点击重新获取
    扫码支付
    钱包余额 0

    抵扣说明:

    1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
    2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

    余额充值