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源码分析系列--前言挖了坑,但是由于最近需求繁忙,一直没有时间填坑.今天暂且来填一个小坑,这篇文章我们 ...
随机推荐
- kafka配置文件详解
kafka的配置分为 broker.producter.consumer三个不同的配置 一 .BROKER 的全局配置最为核心的三个配置 broker.id.log.dir.zookeeper.con ...
- vs code 编译python 输出到调试控制台
如图所示,在debug菜单中点击齿轮按钮,进入launch.json,更改console选项的值(有三种) "console": "internalConsole&quo ...
- Jmeter之参数化函数助手__randomstring
1.Tools->函数助手对话框,选择__Random String,2表示随机生成的字符长度:3表示从哪些字符中随机生成:然后点击生成,得到对应的变量: 5中372表示该函数随机生成的字符串, ...
- Go语言基础知识01-用Go打个招呼
每一种编程语言,从读一本好书开始 每一种编程语言,也从Helloworld开始 1. 环境准备 1.1 安装golang 在Ubuntu下,直接输入命令可以安装最新版本: $ sudo apt-get ...
- git的一些操作命令
一,如何修改一个commit的注释? root@kubuntu:/data/git/clog# git commit --amend 说明:架构森林是一个专注架构的博客,地址:https://www. ...
- Centos6.X 手动升级gcc
操作环境 CentOS6.5 64bit,gcc原版本为4.4.7,不能支持C++11的特性,所以需要升级 [root@zengxj ~]# wget http://ftp.gnu.org/gnu/g ...
- jdk、eclipse和idea安装
一.jdk下载与环境配置与IDEA 下载地址:http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-213315 ...
- SQL SERVER调优常用方法 sql优化
说起SQL SERVER的调优,我想大伙也很想知道这方面的知识.本人也正在探索的路上,大家有什么好的意见,欢迎一起探讨.研究.博取众人之长,才能扬长避短.本文中的内容主要是摘自<程序员的SQL金 ...
- Linux命令之命令别名
对于经常执行的较长的命令,可以将其定义成较短的别名,以方便执行 显示当前shell进程所有可用的命令别名 [04:33:43 root@C8[ ~]#alias alias cp='cp -i' al ...
- Linux显示系统信息sh脚本
#!/bin/bash # #******************************************************************** #Author: wangxia ...