简介

RESTful风格(Representational State Transfer),又叫表现层状态转移,是一种开发理念,也是对HTTP协议很好的诠释

主要理念是将互联网中的网页、数据、服务都视作资源,每次请求只是使得资源的状态发生变化

具体来说,使用规范化的URL来定位网络中的资源,使用HTTP请求的四种请求方式使得资源的状态发生改变

如:GET用来获取资源,POST用来新建资源,PUT用来更新资源,DELETE用来删除资源

RESTful规范

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

非REST的URL:http://..../queryItems.action?id=001

REST的URL风格:http://..../items/001

特点:URL简洁,将参数通过URL传到服务端,请求URL只是对资源的定位,因此不应该出现动词

2、http的方法规范

不管是删除、添加、更新,使用的URL是一致的,如果进行删除,需设置HTTP的方法为delete,其它同理

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

3、对http的contentType规范

请求时执行contentType,要json数据,则设置成json格式的type

而实际使用中第2点往往没有做到

springMVC对RESTful的支持

springmvc中使用URL模板映射支持URL规范

测试代码

    //通过URL中的{XXX}表示占位符,与@PathVariable(XXX)配合建立URL路径到参数的绑定关系
@RequestMapping("/user/{id}/{otherParam}")
@ResponseBody
public User queryUser(@PathVariable("id") String id) {
User user = new User();
if("123".equals(id)) {
user.setUsername("nlskyfree");
}
return user;
}

JSP页面

<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@ page language="java" contentType="text/html; charset=utf-8" pageEncoding="utf-8" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 4.01 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
<body>
<h2>Hello World!</h2>
用户名:${user.username}
</body>
</html>

修改web.xml映射方式

<servlet-mapping>
<!--
常用两种配置方式
第一种:*.action,访问以.action结尾的,由DispatcherServlet解析
第二种:/,所有访问的地址都由DispacherServlet进行解析,对于静态文件的解析需要配置不让DispacherServlet进行解析,
使用此种方式可以实现RESTful风格的url
-->
<servlet-name>springmvc</servlet-name>
<url-pattern>/</url-pattern>
</servlet-mapping>

配置springmvc对静态资源的访问

注意以下标签需配合mvc:annotation-driven</mvc:annotation-driven>使用

    <!-- 静态资源管理 -->
<!-- 注意到mapping的值"/resources/**"有两个*,它表示映射resources/下所有的URL,包括子路径(即接多个/)
,如果只有一个*,将只能映射1级路径,即只能访问1,访问2、3将会报错。 -->
<mvc:resources location="/jsp" mapping="/jsp/**"/>
<mvc:resources location="/js" mapping="/js/**"/>

结果:

springMVC入门(七)------RESTFul风格的支持的更多相关文章

  1. SpringMvc笔记-对RESTFUL风格的配置

    1.@RequestMapping注解可以使用如下参数: 1,params:例如params={'username',"age!=100"}表示需要usernmame并且age 属 ...

  2. springMVC+json构建restful风格的服务

    首先.要知道什么是rest服务,什么是rest服务呢? REST(英文:Representational State Transfer,简称REST)描写叙述了一个架构样式的网络系统.比方 web 应 ...

  3. springMVC中添加restful 风格

    RESTful架构:是一种设计的风格,并不是标准,只是提供了一组设计原则和约束条件,也是目前比较流行的一种互联网软件架构.它结构清晰.符合标准.易于理解.扩展方便,所以正得到越来越多网站的采用. 关于 ...

  4. SpringMvc入门四----rest风格Url

    知识点: REST风格URL简介 SpringMvc对rest风格的支持 @PathVariable 获取 Url 变量 SpringMvc对静态资源的处理 REST风格URL简介: 我们平时看到的s ...

  5. springMvc框架之Restful风格

    method: @Controller @RequestMapping("/test") public String MyController{ @RequestMapping(& ...

  6. springmvc+swagger构建Restful风格文档

    本次和大家分享的是java方面的springmvc来构建的webapi接口+swagger文档:上篇文章分享.net的webapi用swagger来构建文档,因为有朋友问了为啥.net有docpage ...

  7. springmvc中配置RESTful风格控制器

    一般的http请求中其实只需要get和post就可以满足项目需求了,而为什么还要使用restful可能就是为了使请求url看起来更加直观,好看吧.. restful常用的请求方式:get,post,p ...

  8. springmvc复习笔记----Restful 风格,PathVariable获取 Url实例

    结构 包与之前相同 <?xml version="1.0" encoding="UTF-8"?> <web-app xmlns:xsi=&qu ...

  9. <SpringMvc>入门七 拦截器

    什么是拦截器 1.SpringMVC框架中的拦截器用于 对处理器 进行预处理和后处理的技术. 2.可以定义拦截器链,按照顺序执行. 3.拦截器和过滤器功能类似,区别在 拦截器 过滤器 过滤器是Serv ...

随机推荐

  1. $0.\dot{9}=1,是指以1为极限,而非初等数学的相等“=”$

    $注:文中的讨论,没有使用严格的 \epsilon 极限定义,而是简单假设$ 按照中小学的定义,整数,有限小数,无限循环小数是有理数.无限不循环小数是无理数. $\frac{1}{3}=0.\dot{ ...

  2. IDEA中配置Project Structure

    本文主要介绍在IDEA中怎么配置项目Project Structure. 若文中有所偏错,望能够留言指正,不胜感激. 不再赘述,直接进入正题: 1. 打开IDEA的Project Structure( ...

  3. onepill服务端

    运行git搞崩掉了重新创建... 1.新建SpringBoot项目 应该就这些 2. 使用的框架: 数据库:Spring Date JPA Service+Dao+Controller OKHttpC ...

  4. Kubernetes/K8s架构师实战集训营【中、高级班】-2020

    下载地址: [中级班] 链接:https://pan.baidu.com/s/1FWAz2V7BPsObixlZyW93sw提取码:mvu0 [高级班] 链接:https://pan.baidu.co ...

  5. Webpack 原理浅析

    作者: 凹凸曼 - 风魔小次郎 背景 Webpack 迭代到4.x版本后,其源码已经十分庞大,对各种开发场景进行了高度抽象,阅读成本也愈发昂贵.但是为了了解其内部的工作原理,让我们尝试从一个最简单的 ...

  6. 基于个人理解的springAOP部分源码分析,内含较多源码,慎入

    本文源码较多,讲述一些个人对spring中AOP编程的一个源码分析理解,只代表个人理解,希望能和大家进行交流,有什么错误也渴求指点!!!接下来进入正题 AOP的实现,我认为简单的说就是利用代理模式,对 ...

  7. 自述:自学Java应该注意什么问题?

    Hello,大家好,我是若风,我是一名IT从业者,纵观当今局势,国内IT互联网行业发展是比较好的,当然学IT技术的人员也特别多,网上的学习资源也非常多,现在有很多人在学技术,想想要进入到 IT这个行业 ...

  8. PHP 实例 - AJAX 与 XML-AJAX XML 实例

    PHP 实例 - AJAX 与 XML AJAX 可用来与 XML 文件进行交互式通信. AJAX XML 实例 下面的实例将演示网页如何通过 AJAX 从 XML 文件读取信息: 实例   Sele ...

  9. 《Python与量化投资:从基础到实战》PDF高清完整版-PDF|网盘下载附提取码

    本书主要讲解如何利用Python进行量化投资,包括对数据的获取.整理.分析挖掘.信号构建.策略构建.回测.策略分析等.本书也是利用Python进行数据分析的指南,有大量的关于数据处理分析的应用,并将重 ...

  10. luogu P2510 [HAOI2008]下落的圆盘

    LINK:下落的圆盘 计算几何.n个圆在平面上编号大的圆将编号小的圆覆盖求最后所有没有被覆盖的圆的边缘的总长度. 在做这道题之前有几个前置知识. 极坐标系:在平面内 由极点 极轴 和 极径组成的坐标系 ...