实用范文
《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服务器的方法”文档源于网络本人编辑整理。本着保护作者知识产权的原则仅供学习交流请勿商用。如有侵犯作者权益请作者留言或者发站内信息联系本人我将尽快删除。谢谢您的阅读与下载
目前舍利云服务器的主要特色是适合seo和建站,性价比方面非常不错,舍利云的产品以BGP线路速度优质稳定而著称,对于产品的线路和带宽有着极其严格的讲究,这主要表现在其对母鸡的超售有严格的管控,与此同时舍利云也尽心尽力为用户提供完美服务。目前,香港cn2云服务器,5M/10M带宽,价格低至30元/月,可试用1天;;美国cera云服务器,原生ip,低至28元/月起。一、香港CN2云服务器香港CN2精品线...
博鳌云是一家以海外互联网基础业务为主的高新技术企业,运营全球高品质数据中心业务。自2008年开始为用户提供服务,距今11年,在国人商家中来说非常老牌。致力于为中国用户提供域名注册(国外接口)、免费虚拟主机、香港虚拟主机、VPS云主机和香港、台湾、马来西亚等地服务器租用服务,各类网络应用解決方案等领域的专业网络数据服务。商家支持支付宝、微信、银行转账等付款方式。目前香港有一款特价独立服务器正在促销,...
6元虚拟主机是否值得购买?近期各商家都纷纷推出了优质便宜的虚拟主机产品,其中不少6元的虚拟主机,这种主机是否值得购买,下面我们一起来看看。1、百度云6元体验三个月(活动时间有限抓紧体验)体验地址:https://cloud.baidu.com/campaign/experience/index.html?from=bchPromotion20182、Ucloud 10元云主机体验地址:https:...