SpringMVC是Spring框架中用于Web应用快速开发的一个模块。

SpringMVC基于Spring框架、Servlet和JSP。

-------------------------------------------------------HTTP---------------------------------------------------------

1.HTTP都是通过客户端发起请求到服务端,然后服务端返回最新数据到客户端,进行展示,服务端不会主动与客户端联系。

2.WebSocket协议支持双向通信,其允许HTTP连接升级为WebSocket连接,这样服务端即可以主动与客户端联系。

3.URL

1)protocol://[host.]domain[:port][/context][/resource][?query string | path variable]

2)protocol://IP Address[:port][/context][/resource][?query string | path variable]

port:端口号,HTTP默认端口号为80,如果Web服务器采用的就是80端口则在URL中不需要输入端口号,如果Web服务器采用的不是80端口则需要在URL中带上端口号,例:http://localhost:8080/index.html

context:可以有一个或者多个默认资源,一个没有带资源名称的URL通常指向默认资源,多个资源时则会返回优先级最高的资源

query string |path variable :一个或者多个查询语句或者路劲参数。查询语句是一个key/value键值对,多个查询语句用&分开,路径参数只有value部分,多个路径参数使用/分开

4.HTTP请求

一个HTTP请求有三部分内容:

1)方法-URI-协议/版本

2)请求头信息

3)请求正文

每一个header内容都需要以换行分开。

请求头信息和请求正文使用一行空行分开,HTTP服务器以此作为判断请求正文的起始位置。

例:

POST /example/index.jsp HTTP/1.1

Accept:application/json
Accept-Encoding:gzip, deflate
Accept-Language:zh-CN,zh;q=0.8
Connection:keep-alive
Content-Length:349
Content-Type:application/json
Cookie:_abtest_userid=14e67ba6-26cc-42d6-a5ed-6d9e9e1a875b; _fpacid=09031167210325702118; GUID=09031167210325702118; ASP.NET_SessionId=bv4ffrchwgo2031ivpgwk5qd; _gat=1; _bfa=1.1470615639048.z04jg.1.1472960608709.1474384126008.12.81; _bfs=1.2; _ga=GA1.2.228529258.1470615640; _jzqco=%7C%7C%7C%7C1474384130020%7C1.869275155.1470615640098.1474384129985.1474384147324.1474384129985.1474384147324.0.0.0.45.45; _bfi=p1%3D600004933%26p2%3D212044%26v1%3D81%26v2%3D80
Host:m.ctrip.com
Origin:http://m.ctrip.com
Referer:http://m.ctrip.com/webapp/inn/index
User-Agent:Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/51.0.2704.106 Safari/537.36
X-Requested-With:XMLHttpRequest

lastname=zhu&firstname=xing

5.HTTP响应

HTTP响应含有三部分:

1)协议-状态码-描述

2)响应头信息

3)响应正文

例:

HTTP/1.1 200 OK

Access-Control-Allow-Origin:*
Cache-Control:private
CLOGGING_TRACE_ID:7783947182870047983
Connection:keep-alive
content-encoding:gzip
Content-Type:application/json;charset=utf-8
Date:Tue, 20 Sep 2016 15:09:08 GMT
Server:Tengine/2.1.1
SOA20-Response-Status:Success
Transfer-Encoding:chunked
Vary:Accept-Encoding
X-AspNet-Version:4.0.30319
x-gate:ctrip-gate
x-gate-instance:unknown
x-gate-remote-call-cost:417
x-originating-url:http://m.ctrip.com/restapi/soa2/11390/hotel/inn/gethomepagehotellist?_fxpcqlniredt=09031167210325702118
X-Powered-By:ASP.NET
X-Powered-By:CTrip/SOA2.0 Win32NT/.NET

<html>

<head>

<title></title>

</head>

<body>

...

</body>

-------------------------------------------------------Servlet和JSP---------------------------------------------------------

1.Servlet和JSP

1)Servlet是java体系中开发Web应用的底层技术。一个Servlet为响应第一次请求而被创建后,则会一直在内存中,因此后续请求可以很快。

2)一个Servlet是一个java程序,一个Servlet应用包含了一个或者多个Servlet,一个JSP页面会被翻译编译成一个Servlet。

3)Servlet应用运行在Servlet容器中。Servlet容器将用户请求给Servlet应用,并将响应返回给用户。

4)一个Servlet/JSP容器是一个能够处理Servlet以及静态资源的Web服务端。

最新文章

  1. 0041 Java学习笔记-多线程-线程池、ForkJoinPool、ThreadLocal
  2. ios10 safari 的坑!
  3. brew
  4. 项目修改有感_主要是以js、Gridview为主
  5. 基于Bootstrap的DropDownList的JQuery组件的完善版
  6. 《linux内核设计与实现》读书笔记第三章
  7. windows必备,命令行工具cmder
  8. Appium移动自动化测试(四)--one demo
  9. 动态创建地图文档MXD并发布地图服务
  10. Python学习(2)——编码
  11. HTML表单样式
  12. 委托的lambda表达式
  13. 监听SWT文本框只能输入数字
  14. 新建Android工程没有自动生成R.JAVA,应该先升级下ADT
  15. eclipse 配置scala问题-More than one scala library found in the build path
  16. ETL作业调度工具TASKCTL软件安装乱码问题解决
  17. python 库之lxml安装 坑一个
  18. PHP浮点型(float)转换为整形(int)/round()保留小数点后几位
  19. monodepth 训练记录
  20. python中TCP协议中的粘包问题

热门文章

  1. js【table】合并行,合并列
  2. idea导入本地idea的web项目(服务器用的是tomcat)
  3. Centos6 安装nginx
  4. MySQL-----用户和授权管理
  5. 字符串str.format()方法的个人整理
  6. python爬虫入门01:教你在 Chrome 浏览器轻松抓包
  7. 集训第六周 数学概念与方法 概率 数论 最大公约数 G题
  8. 精帖转载(关于stock problem)
  9. echarts的简单应用之(二)饼图
  10. jmap Unable to open socket file解决