2.19Java基础学习

SpringMVC

SpringMVC就是一个Spring内置的MVC框架。

MVC框架,它解决WEB开发中常见的问题(参数接收、文件上传、表单验证、国际化等等),而且使用简单,与Spring无缝集成。支持 RESTful风格的URL请求。

采用了松散耦合可插拔组件结构,比其他 MVC 框架更具扩展性和灵活性。

GET请求

  • 请求的数据全部在浏览器的地址栏(很不安全)
  • http://localhost:8080/webapp/?username=coder&email=111#
  • 请求信息全部会存储在请求行中

注意:由于浏览器和服务器对URL长度有限制,因此在URL后面附带的参数是有限制的,通常不能超过2KB

POST请求

  • 请求的数据不会出现在浏览器的地址栏中(比较安全)
  • 请求信息会全部存储到请求实体

两者区别

  • GET的请求数据在地址栏中,而POST不会
    POST比GET更安全
  • POST请求的参数存放于请求实体中, 而GET存放在请求行中.
  • GET请求的数据不能超过2K, 而POST没有上限
    文件上传时,必须使用POST方式
  • GET可以缓存, 而POST没有缓存

如何选择GET和POST

  • 如果要传递大量数据,比如文件上传,只能用POST请求
  • GET的安全性比POST要差些,如果包含机密\敏感信息,建议用POST
  • 如果仅仅是索取数据(数据查询),建议使用GET
  • 如果是增加、修改、删除数据,建议使用POST

JSON格式

JSON数值

格式:{ “key” : value}
示例: {“key1”:100,“key2”:20}

{
    "key1":100,
    "key2":20
}

JSON字符串

格式:{ “key” : “value”}
示例: {“key1” : “张三”,“key2” : “大忽悠”}

  {
        "key1" : "张三",
        "key2" : "大忽悠"
    }

JSON数组

格式:{ “key” : [value]}
示例:{key" : [000, 111111],“key1” : [18874, 15157]}

 {
        "key" : [000, 111111],
        "key1" : [18874, 15157]
    }

JSON对象

格式:{ “key” : {value}}
示例: {“key” : {“1”: “亚索”},“key1” : {“2”: “刘备”}}

  {
        "key" : {"1": "亚索"},
        "key1" : {"2": "刘备"}
    }

JSON对象数组

格式:{ “key” : [{“key1”: “value1”},{“key2”: “value2”}]}
示例:{“我”:[{“key”: “好好学习”},{“key1”:“天天向上”}]}

  {
        "我" : [
                      {"key": "好好学习"},
                      {"key1": "天天向上"}
        ]
    }

JSON数组对象

格式:{“key”:{“key1”:[value1,value2]}}
示例:{“我”:{“你” : [18874,15157]}}

  {
        "我" : {
                      "你" : [18874,15157]           
        }
    }

http响应消息数据格式:

http响应由三个部分组成分别是状态行,响应头,响应体(响应正文)。

状态行是由:HTTP-Version+Status-Code+Reason-Phrase(http版本 + 状态码 + 状态代码的文本描述)

状态码:

1xx指示信息–表示请求已接收,继续处理
2xx成功–表示请求已被成功接收、理解、接受 代表:200
3xx重定向–要完成请求必须进行更进一步的操作。 代表:302(重定向),304(访问缓存)
4xx客户端错误–请求有语法错误或请求无法实现。代表:404(请求路径没有对应的资源) 405:请求方式没有对应的doXxx方法
5xx服务器端错误–服务器未能实现合法的请求。代表:500(服务器内部出现异常)

响应头:包含服务器类型,日期,长度,内容类型等

响应体响应正文就是服务器返回的HTML页面

REST架构特征

既然知道REST和RESTful的联系和区别,现在就要开始好好了解RESTful的一些约束条件和规则,RESTful是一种风格而不是标准,而这个风格大致有以下几个主要特征

以资源为基础 :资源可以是一个图片、音乐、一个XML格式、HTML格式或者JSON格式等网络上的一个实体,除了一些二进制的资源外普通的文本资源更多以JSON为载体、面向用户的一组数据(通常从数据库中查询而得到)。
统一接口: 对资源的操作包括获取、创建、修改和删除,这些操作正好对应HTTP协议提供的GET、POST、PUT和DELETE方法。换言而知,使用RESTful风格的接口但从接口上你可能只能定位其资源,但是无法知晓它具体进行了什么操作,需要具体了解其发生了什么操作动作要从其HTTP请求方法类型上进行判断。具体的HTTP方法和方法含义如下:

  • GET(SELECT):从服务器取出资源(一项或多项)。
  • POST(CREATE):在服务器新建一个资源。
  • PUT(UPDATE):在服务器更新资源(客户端提供完整资源数据)。
  • PATCH(UPDATE):在服务器更新资源(客户端提供需要修改的资源数据)。
  • DELETE(DELETE):从服务器删除资源。
  • 18
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值