第一章:一个简单的Web服务器
2016-02-08 21:25
489 查看
How java web server to work
HTTP超文本传输协议
HTTP请求
HTTP响应
Socket类javanetsocket
ServerSocket类
创建一个简单的Web服务器
servlet容器为一个servlet请求提供服务基本分三部
将创建web服务器分成三部分
代码实现见GitHub
创建一个request对象并填充所引用的servlet使用的信息,如参数,头部,uri等等
创建一个response对象,所引用的servlet用它给客户端发送响应
调用service方法,并传入request和response对象。前者用于取值,后者写值。
将创建web服务器分成三部分
创建Request类
创建Response类
创建HttpServicer类
https://github.com/levyc/OwnWebServer.git
HTTP超文本传输协议
HTTP请求
HTTP响应
Socket类javanetsocket
ServerSocket类
创建一个简单的Web服务器
servlet容器为一个servlet请求提供服务基本分三部
将创建web服务器分成三部分
代码实现见GitHub
How java web server to work
**一个基于java的web服务器使用两个重要的类:java.net.Socket和java.net.ServerSocket,通过http消息与客户端通信,也称为http服务器**。
HTTP超文本传输协议
http,一种协议,允许互联网中服务器与浏览器进行发送与接收数据,是一种请求与响应协议。使用可靠的TCP连接。 在http中,始终都是客户端通过建立连接和发送http请求开启一个事务。服务器不用联系浏览器端。
HTTP请求
一个http请求包含三部分: 1.请求行:方法-URI-协议/版本 POST /example/index.html http/1.1(三部分之间通过回车换行符CRLF分隔开) 2.请求的头部 3.主体内容
HTTP响应
一个http响应包含三部分: 1.状态行:协议/版本 状态码 原因短语 http/1.1 200 OK (三部分之间通过回车换行符CRLF分隔开) 2.响应的头部 3.主体内容
Socket类(java.net.socket)
socket类是网络连接的端点。使得一个应用程序可以从网络读取与写入数据。为了从一个应用程序发送消息到另一个应用,需要知道另一个应用的IP地址和socket端口。 通过调用socket的getOutputStream和getInputStream方法获得OutputStream对象和InputStream对象 socket类常用构造方法:socket(Inetadress address,int port)
ServerSocket类
服务器socket和socket不同,服务器socket的角色是等待来自客户端的连接请求,一般服务器soket获得连接请求,将创建一个socket和客户端进行通信。 常用构造方法:ServerSocket(int port,int backLog,InetAdress Bindingadress)表示监听bindingAdress地址上的端口port。backLog是拒绝开始传入的请求之前,连接请求的最大队列数。 关键方法:accept(),用于监听请求的到来,当请求来到时,创建一个socket与客户端通信。
创建一个简单的Web服务器
servlet容器为一个servlet请求提供服务,基本分三部:创建一个request对象并填充所引用的servlet使用的信息,如参数,头部,uri等等
创建一个response对象,所引用的servlet用它给客户端发送响应
调用service方法,并传入request和response对象。前者用于取值,后者写值。
将创建web服务器分成三部分
创建Request类
创建Response类
创建HttpServicer类
代码实现见GitHub
新手上路,请多多指教https://github.com/levyc/OwnWebServer.git
相关文章推荐
- 一个问题:关于类型转换Type Cast(汇编讲解 as 语法)
- Send push notification on Apple (APNS) on c#.net
- Runtime_消息转发机制
- UIDynamic物理引擎
- Delphi + Asm - TBits类的学习
- 使用拦截器或者AOP实现权限管理(OA系统中实现权限控制)
- LeetCode 48. Rotate Image My Submissions Question (矩阵旋转)
- SSL/TLS
- java基础练习 杨辉三角
- HDU 3572 Task Schedule(最大流)
- Spring bean 生命周期管理
- limits.conf详解
- vxWorks的计数信号量和看门狗定时器联合使用的示例
- EL表达式
- jQuery的deferred对象详解
- css的字体和尺寸
- Delphi - XP扫雷外挂制作
- jsp动作元素
- iOS 8:Xcode 6添加pch文件的步骤
- 【JAVA】1、准备工作——安装JDK与配置环境变量path