SpringMVC学习笔记(十六)——RESTful支持

博客源码下载:戳我一下
SpringMVC学习笔记汇总:SpringMVC学习笔记汇总
一、什么是RESTful

RESTful架构,就是目前最流行的一种互联网软件架构。它结构清晰、符合标准、易于理解、扩展方便,所以正得到越来越多网站的采用。
RESTful(即Representational State Transfer的缩写)其实是一个开发理念,是对http的很好的诠释。

1、对url进行规范,写RESTful格式的url

  • RESTurlhttp://...../queryItems.action?id=001&type=T01
  • RESTurl风格:http://..../items/001

特点:url简洁,将参数通过url传到服务端

2、http的方法规范
不管是删除、添加、更新。。使用url是一致的,如果进行删除,需要设置http的方法为delete

后台controller方法:判断http方法,如果是delete执行删除,如果是post执行添加。

3、对httpcontentType规范
请求时指定contentType,要json数据,设置成json格式的type

更多内容参考:
理解RESTful架构

二、URL模板模式映射

@RequestMapping(value="/viewItems/{id}"){×××}占位符,请求的URL可以是“/viewItems/1”或“/viewItems/2”,通过在方法中使用@PathVariable获取{×××}中的×××变量。

@PathVariable用于将请求URL中的模板变量映射到功能处理方法的参数上。

@RequestMapping("/viewItems/{id}") 
    public @ResponseBody viewItems(@PathVariable("id") String id,Model model) throws Exception{
        //方法中使用@PathVariable获取useried的值,使用model传回页面
        //调用 service查询商品信息
        ItemsCustom itemsCustom = itemsService.findItemsById(id);
        return itemsCustom;
}

如果RequestMapping中表示为"/viewItems/{id}"id和形参名称一致,@PathVariable不用指定名称。

三、RESTful的例子

需求:
RESTful方式实现商品信息查询,返回json数据
1、controller编写:
定义方法,进行url映射使用RESTful风格的url,将查询商品信息的id传入controller.
输出json使用@ResponseBodyjava对象输出json

    //查询商品信息,输出json
    ///itemsView/{id}中的id表示这个位置的参数要传到@PathVariable指定的名称中
    @RequestMapping("/itemsView/{id}")
    public @ResponseBody ItemsCustom itemsView(@PathVariable("id") Integer id) throws Exception {
        //调用service查询商品信息
        ItemsCustom itemsCustom = itemsService.findItemsById(id);

        return itemsCustom;

    }

2、RESTful方法的前端控制器配置
web.xml配置

    <servlet>
        <servlet-name>springmvc_rest</servlet-name>
        <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
        <init-param>
            <param-name>contextConfigLocation</param-name>
            <param-value>classpath:spring/springmvc.xml</param-value>
        </init-param>
    </servlet>
    <servlet-mapping>
        <servlet-name>springmvc_rest</servlet-name>
        <url-pattern>/</url-pattern>
  </servlet-mapping>

3、部署调试
这里写图片描述

四、对静态资源的解析

如果在DispatcherServlet中设置url-pattern/ 则必须对静态资源进行访问处理。
spring mvc<mvc:resources mapping="" location="">实现对静态资源进行映射访问。
如下是对js文件访问配置:
<mvc:resources location="/js/" mapping="/js/**"/>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值