Servlet与通信协议概述
- Servlet
- 是一个java应用程序,一个Servlet应用有一个或多个Servlet程序,JSP页面会被转换和编译成Servlet程序。
- Servlet应用无法独立运行,必须运行在Servlet容器中。Servlet容器将用户的请求传递给Servlet应用,并将结果返回给用户,由于大部分的Servlet应用都包含多个JSP页面,因此更准确滴说是“Servlet/JSP应用”。Apache Tomcat和Jetty是当前最流行的Servlet/JSP容器。
- Servlet、JSP只是Java企业版众多技术中的两个,其他的Java EE技术好友Java消息服务、企业Java对象、JavaServer Faces以及Java持久化等,要运行Java EE应用需要Java EE容器,例如GlassFish、JBoss等,当然可以讲Servlet应用部署到Java EE容器中,但是大题小作,Tomcat和Jetty更加轻量级。当然,Tomcat/Jetty无法运行EJB、JMS等Java EE中的其他技术。

- 通信协议
web服务器和web客户端通过HTTP协议通信 ,除HTTP协议外,url还可以采用其他类型的协议,如ftp://marketing@ftp.example.org
- HTTP URL的格式如下:
protocol://[host.]domain[:port][/context][/resource][?queryString]
协议://[主机名.]域名[:端口号][/应用][资源路径][参数]
或者
protocol://[host.]IP address[:port][/context][/resource][?queryString]
解释与示例:
a. http://yahoo.com(无host),http://mail.yahoo.com(有host),www是默认的主机名,通常http://www.domainName会被映射到http://domainName
b. 一台计算机可以托管不止一个域名,因此不同的域名可能指向同一个IP,example.com/example.org无法被注册,被保留作为各类文档手册举例使用。另外还可以用ping命令来获取域名对应的IP地址。
c. HTTP的默认端口号是80,因此采用80端口号的Web服务无需输入端口号(HTTPS的默认端口号是443,tomcat的默认端口号是8080)
d. URl中的context部分用来代表应用名称,一台web服务器可以配置多个山下文(应用),其中一个可以配置为默认上下文,访问默认上下文中的资源,可以省略context,一个context中有一个或多个默认资源,通常为index.html,index.htm,default.htm,一个没有带资源名称的url通常指向默认资源。
2. HTTP请求
一个HTTP请求包含三部分内容:
·方法-URI-协议/版本
·请求头信息
·请求正文

第一行即为:post方法-uri-协议/版本
HTTP 1.1规范中定义了请求方法包含七种:get、post、head、options、put、delete、trace
HTTP请求头包含客户端环境以及实体内容等信息,如浏览器所设置的语言实体内容长度等。每个请求头用回车/换行(即CRLF)分隔。
CRLF用于分隔请求头和请求体,最后一行即为请求体。
3. HTTP响应
·协议-状态码-描述
·响应头信息
·响应正文

第一行:协议/版本-状态码-描述
响应头
响应正文和响应头之间用CRLF分隔
状态码示例:访问未授权的资源401,使用被禁用的请求方法405。
1xx消息:这一类型的状态码,代表请求已被接受,需要继续处理;2xx成功;3xx重定向:这类状态码代表需要客户端采取进一步的操作才能完成请求。通常,这些状态码用来重定向,后续的请求地址(重定向目标)在本次响应的Location域中指明。; 4xx客户端错误;5xx服务器错误;其他非官方状态码420,444,450,494
Servlet与通信协议概述的更多相关文章
- Servlet技术之——概述、实现、细节、获取资源、ServletConfig、ServletContext
Servlet概述.实现.细节.获取资源.ServletConfig.ServletContext (一) Setvlet基本概述 (1) 什么是Servlet ? Servlet(Server Ap ...
- web开发技术中Servlet技术的概述
1.servlet是什么:servlet是一个位于服务器端的java应用程序它可以像jsp一样,直接输出信息 servlet类必须继承HttpServlet类,否则,不能称为serlvet servl ...
- servlet和jsp概述
1.servlet的作用 B/S系统:浏览器/服务器(Servlet的服务模式) Servlet是运行在web服务器或应用服务器上的java程序,它是一个中间层,负责连接来自web浏览器或其它HTTP ...
- 01 Servlet & Jsp 技术概述
Servlet 介绍 servlet 是运行在web服务器或应用服务器上的java程序, 它是一个中间层, 负责连接来自web浏览器或其他http客户端的请求和HTTP服务器上的数据库或应用程序. 为 ...
- JSP&Servlet学习手册
JSP&Servlet学习手册 沙琪玛 书 目录 JSP 指令... 3 书写方式... 3 指令列表... 3 JSP 内置对象... 3 内置对象特点... 3 常用内置对象... 3 o ...
- 通信协议演进与JCE协议详解
一.通信协议概述通信协议是两个节点之间为了协同工作.实现信息交换,而协商的规则和约定,例如规定字节序,各个字段类型,使用什么压缩算法或加密算法等. 1.原始数据假设A和B通信,获取或设置用户基本资料, ...
- 7.22实习培训日志-JSP Servlet
周末总结 今天下午在学习servlet,想自己做一个简单的例子,于是用idea新建一个maven项目,为了后文叙述方便,我们取名为项目1,点击create from archetype,我先选择org ...
- Web_Servlet—— Servlet生命周期
第4章 Servlet生命周期(重要) 4.1 Servlet生命周期概述 1,应用程序中的对象不仅在空间上有层次结构的关系,在时间上也会因为处于程序运行过程中的不同阶段而表现出不同的状态和不同的行为 ...
- Spring mvc源码分析系列--Servlet的前世今生
Spring mvc源码分析系列--Servlet的前世今生 概述 上一篇文章Spring mvc源码分析系列--前言挖了坑,但是由于最近需求繁忙,一直没有时间填坑.今天暂且来填一个小坑,这篇文章我们 ...
随机推荐
- Oracle报错>记录被另外一个用户锁定
原因 当一个用户对数据进行修改时,若没有进行提交或者回滚,Oracle不允许其他用户修改该条数据,在这种情况下修改,就会出现:"记录被另外一个用户锁定"错误. 解决 查询用户.数据 ...
- day52 Pyhton 前端03
内容回顾 块级标签: div p h 列表:ol;ul;dl 表格:table 行内标签: span a i/em b/strong u/del 行内块: input textarea img 其他: ...
- day26 Pyhton 复习re模块和序列化模块
# re # 正则表达式 # 元字符 # 量词 # 贪婪匹配与惰性匹配 # 元字符量词 # 元字符量词? 在量词规范内,遇到一个x就停下来 # .*?x (.如果是第一个元素,那么它一定会从第一个元素 ...
- 10年经验17张图带你进入gitflow企业项目代码版本管理的最佳实践
前言 对于项目版本管理,你是否存在这样的痛点:项目分支多而杂不好管理,git log界面commit信息错乱复杂无规范,版本回退不知道选择什么版本合适--. 项目版本管理的最佳实践系列,笔者将以两篇文 ...
- HDU - 6736 F - Forest Program
题意 给你n个点m条边,并且保证整个图是仙人掌. 仙人掌:每条边仅属于1条或者0条回路 且无重边和自环 让你删掉一些边使其变成一棵树(拥有点数-1条边) 注意一个点也是森林 图可能是不联通的 思路 考 ...
- spring boot:使接口返回统一的RESTful格式数据(spring boot 2.3.1)
一,为什么要使用REST? 1,什么是REST? REST是软件架构的规范体系,它把资源的状态用URL进行资源定位, 以HTTP动作(GET/POST/DELETE/PUT)描述操作 2,REST的优 ...
- centos8平台yum无法安装一些常用软件的解决,如:screen,iftop,nethogs
一,例如:安装screen时报错: [root@localhost liuhongdi]# yum install screen 上次元数据过期检查:17:39:58 前,执行于 2020年03月18 ...
- ElementUI级联选择器动态加载Demo
嗯,今天项目遇到,弄了一会,这里分享一下,不足之处请小伙伴指出来, 官网Demo: <el-cascader :props="props"></el-cascad ...
- vue中跳转页面逻辑
跳转详情页面具体代码 写这个页面需要安装两个 1.安装axios命令 Cnpm install axios --save 2.安装vant Cnpm install vant --save 在inde ...
- count=count++
count=count++ 的最终值是count =count,没加上1,该是啥是啥 count++ 的最终值是加一的值 注意: count = count ++ + 1 最终还是1