服务器java实现web服务器的方法(论文范文)

java服务器  时间:2021-01-30  阅读:()

实用范文

《java实现web服务器的方法》Word格式可编辑含目录

精心整理放心阅读欢迎下载

文档信息

java实现web服务器的方法

目录

一、 HTTP协议的作用原理

(1)连接 Web浏览器与Web服务器建立连接

(2)请求 Web浏览器通过socket向Web服务器提交请求

(3)应答 Web浏览器提交请求后通过HTTP协议传送给We. . .

(4)关闭连接 当应答结束后

二、 Java实现Web服务器功能的程序设计

(1)创建Serveocket类对象

(2)等待、接受客户机连接到端口8080

(3)创建与socket字相关联的输入流itream和输出流o. . .

(4)从与socket关联的输入流itream中读取一行客户机. . .

(5)从请求信息中获取请求类型

(6)如果HTML文件存在

(7)关闭与相应Web浏览器连接的socket字

正文java实现web服务器的方法

在日常的开发中我们用过很多开源的web服务器例如tomcat、 apache等等。现在我们自己实现一个简单的web服务器基本的功能就是用户点击要访问的资源服务器将资源发送到客户端的浏览器。为了简化操作这里不考虑资源不存在等异常情况!以下是小编为大家搜索整理的java实现web服务器的方法希望能给大家带来帮助更多精彩内容请及时关注我们考试网!

一、 HTTP协议的作用原理

WWW是以Internet作为传输媒介的一个应用系统 WWW网上最基本的传输单位是Web网页。 WWW的工作基于客户机/服务器计算模型 由Web浏览器(客户机)和Web服务器(服务器)构成两者之间采用超文本传送协议(HTTP)进行通信。 HTTP协议是基于TCP/IP协议之上的.协议是Web浏览器和Web服务器之间的应用层协议是通用的、无状态的、面向对象的协议。 HTTP协议的作用原理包括四个步骤

(1)连接 Web浏览器与Web服务器建立连接打开一个称为socket(套接字)的虚拟文件此文件的建立标志着连接建立成功。

(2)请求 Web浏览器通过socket向Web服务器提交请求。 HTTP的请求一般是GET或POST命令(POST用于FORM参数的传递) 。 GET命令的格式为

GET路径/文件名HTTP/

文件名指出所访问的文件 HTTP/指出Web浏览器使用的HTTP版本。

(3)应答 Web浏览器提交请求后通过HTTP协议传送给Web服务器。 Web服务器接到后进行事务处理处理结果又通过HTTP传回给Web浏览器从而在Web浏览器上显示出所请求的页面。

例假设客户机与 8080/my d i建立了连接就会发送GET命令GET /mydi HTTP/.主机名为的Web服务器从它的文档空间中搜索子目

录mydir的文件.如果找到该文件 Web服务器把该文件内容传送给相应的Web浏览器。

为了告知Web浏览器传送内容的类型 Web服务器首先传送一些HTTP头信息然后传送具体内容(即HTTP体信息)  HTTP头信息和HTTP体信息之间用一个空行分开。

常用的HTTP头信息有

①HTTP 200 OK

这是Web服务器应答的第一行列出服务器正在运行的HTTP版本号和应答代码。代码“200 OK”表示请求完成。

②MIME_Ve ion

它指示M I ME类型的版本。

③content_type类型

这个头信息非常重要它指示HTTP体信息的M IME类型。如content_type text/html指示传送的数据是HTML文档。

④content_length长度值

它指示HTTP体信息的长度(字节)

(4)关闭连接当应答结束后 Web浏览器与Web服务器必须断开 以保证其它Web浏览器能够与Web服务器建立连接。

二、 Java实现Web服务器功能的程序设计

根据上述HTTP协议的作用原理实现GET请求的Web服务器程序的方法如下

(1)创建Serveocket类对象监听端口8080.这是为了区别于HTTP的标准TCP/IP端口80而取的;

(2)等待、接受客户机连接到端口8080得到与客户机连接的socket;

(3)创建与socket字相关联的输入流itream和输出流outstream;

(4)从与socket关联的输入流itream中读取一行客户机提交的请求信息请求信息的格式为 GET路径/文件名HTTP/

(5)从请求信息中获取请求类型。如果请求类型是GE T则从请求信息中获取所访问的HT ML文件名。没有HT ML文件名时则以作为文件名;

(6)如果HTML文件存在则打开HTML文件把H TTP头信息和HTML文件内容通过socket传回给Web浏览器然后关闭文件。否则发送错误信息给Web浏览器;

(7)关闭与相应Web浏览器连接的socket字。

下面的程序是根据上述方法编写的、可实现多线程的Web服务器以保证多个客户机能同时与该Web服务器连接。

程序1文件

用JAVA编写W e b服务器i mport .i mport .public class WebServer {public static void main(String args[]) {int i=1 PORT=8080;

Serveocket server=null

为提高学习交流本文整理了相关的实用范文有 《Java动态代理实现AOP的方法》 、 《Java Web服务器(应用服务器)》 、 《主流Java Web服务器(应用服务器)简介》 、 《Java与Java web的区别》 、 《java实现电脑定时关机的方法》 、 《Java实现点在线添加的方法》 、 《安装Web服务器》 、 《基于Java网络编程技术的WEB服务器》 读者可以在平台上搜索。

“java实现web服务器的方法”文档源于网络本人编辑整理。本着保护作者知识产权的原则仅供学习交流请勿商用。如有侵犯作者权益请作者留言或者发站内信息联系本人我将尽快删除。谢谢您的阅读与下载

iHostART:罗马尼亚VPS/无视DMCA抗投诉vps;2核4G/40GB SSD/100M端口月流量2TB,€20/年

ihostart怎么样?ihostart是一家国外新商家,主要提供cPanel主机、KVM VPS、大硬盘存储VPS和独立服务器,数据中心位于罗马尼亚,官方明确说明无视DMCA,对版权内容较为宽松。有需要的可以关注一下。目前,iHostART给出了罗马尼亚vps的优惠信息,罗马尼亚VPS无视DMCA、抗投诉vps/2核4G内存/40GB SSD/100M端口月流量2TB,€20/年。点击直达:ih...

spinservers:圣何塞10Gbps带宽服务器月付$109起,可升级1Gbps无限流量

spinservers是Majestic Hosting Solutions LLC旗下站点,主营国外服务器租用和Hybrid Dedicated等,数据中心在美国达拉斯和圣何塞机房。目前,商家针对圣何塞部分独立服务器进行促销优惠,使用优惠码后Dual Intel Xeon E5-2650L V3(24核48线程)+64GB内存服务器每月仅109美元起,提供10Gbps端口带宽,可以升级至1Gbp...

极光KVM美国美国洛杉矶元/极光kvmCN7月促销,美国CN2 GIA大带宽vps,洛杉矶联通CUVIP,14元/月起

极光KVM怎么样?极光KVM本月主打产品:美西CN2双向,1H1G100M,189/年!在美西CN2资源“一兆难求”的大环境下,CN2+大带宽 是很多用户的福音,也是商家实力的象征。目前,极光KVM在7月份的促销,7月促销,美国CN2 GIA大带宽vps,洛杉矶联通cuvip,14元/月起;香港CN2+BGP仅19元/月起,这次补货,机会,不要错过了。点击进入:极光KVM官方网站地址极光KVM七月...

java服务器为你推荐
燃气热水器和电热水器哪个好电热水器和燃气热水器的优缺点,那个更实用?燃气热水器和电热水器哪个好燃气热水器和电热水器哪个好燃气热水器和电热水器哪个好燃气热水器好还是电热水器好?燃气热水器和电热水器哪个好燃气热水器与电热水器的优缺点?电陶炉和电磁炉哪个好电磁炉和电陶炉买哪个?加速器哪个好加速器哪个好用?加速器哪个好主流加速器哪个好手机管家哪个好有哪些人下了手机管家,最好的是哪个?手机杀毒哪个好手机杀毒软件哪个好 五大手机安全软件杀毒大比拼美国国际集团世界五百强企业前五十名是哪些?
什么是虚拟主机 工信部域名备案 域名备案号查询 lnmp googleapps permitrootlogin 512au 万网优惠券 国外免费空间 权嘉云 阿里云浏览器 电子邮件服务器 admit的用法 免费申请网站 metalink 支付宝扫码领红包 web服务器安全 吉林铁通 in域名 个人免费主页 更多