一、HTTP协议的作用原理

HTTP协议的作用原理包括四个步骤:

1.连接:Web浏览器与Web服务器建立连接。2.请求:Web浏览器通过socket向Web服务器提交请求。3.应答:Web浏览器提交请求后,通过HTTP传送给Web服务器。Web服务器接到请求后,进行事务处理,处理结果又通过HTTP传回给Web浏览器,从而在Web浏览器上显示出所请求的页面。4.关系连接:当应答结束后,Web浏览器与Web服务器必须断开,以保证其它Web浏览器能够与Web服务器建立连接。

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

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

1.创建ServerSocket类对象,监听端口8080。这是为了区别于HTTP的标准TCP/IP端口80而取的;2.等待、接受客户机连接到端口8080,得到与客户机连接的socket;3.创建与socket关联的输入流instream和输入出流outstream;

式为:GET路径/文件名HTTP/1.0;4.从与socket关联的输入流instream中读取一行客户机提交的请求信息,请求信息的格式为:GET路径/文件名HTTP/1.0;5.从请求信息中获取请求类型。如果请求类型是GET,则从请求信息中获取所访问的HTML文件名。没有HTML文件名时,则以index.htm1作为文件名;6.如果HTML文件存在,则打开HTML文件,把HTTP头信息和HTML文件内容通过socket传回给Web服务器,然后关闭文件,否则发送错误信息给Web浏览器;7.关闭与相应Web浏览器连接的socket字。 来源:www.examda.com

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

//WebServer.java用Java编写Web服务器

import java.io.*;

import java.net.*;

import java.util.Date;

public class WebServer{

public static void main(String args[])

{

int i=1,PORT=8080;

ServerSocket server=null;

Socketclient=null;

try{

server=new ServerSocket(PORT);

System.out.println

("Web Server is listening on port"

+server.getLocalPort());

for(;;){

client=server.accept();

//接受客户机的连接请求

new Connection Thread(client,i).start();

i++;

}

}catch(Exception e){System.out.println(e);}

}

}

/*Connnection Thread类完成

与一个Web浏览器的通信*/

class Connection Thread extends Thread{

Socket client;//连接Web浏览器的socket字

int counter;//计数器

public Connection Thread(Socketcl,int c){

client=cl;

counter=c;

} 来源:www.examda.com

public void run()//线程体

{

try{

String deskIP=client.getInetAddress().toString();

//客户机IP地址

int destport=client.getPort();

来源:考试大-Java认证

责编:yunyun  评论 纠错

上一页1

java web认证考试_用Java实现Web服务器HTTP协议相关推荐

  1. java通用编码规范考试_《java编码规范考试题答案》.doc

    一.单选题 1. 如下关于集合类的描述错误的是 B A. 含有集合意义的属性命名,尽量包含其复数的意义 B. 集合中的数据不需要释放,垃圾回收器会自动回收 C. 集合必须指定模板类型 D. 使用集合类 ...

  2. Sun Java 国际认证考试流程表

    在当今信息高速发展的社会中,"人才"决定了企业发展.因此,如何评估员工的价值,或是个人如何证明自己的专业能力,就成为关键.Sun公司为了为业界建立一套认证的标准,特别针对最先进的科 ...

  3. java程序员竞赛_广东省Java程序员竞赛

    广东省Java程序员竞赛是由广东省计算机学会主办的面向各大高等院校在校学生的程序设计竞赛活动.竞赛内容参考Java国际认证考试,注重考察参赛选手的综合技能.通过竞赛活动为Java程序员搭建一个展现程序 ...

  4. java项目----教务管理系统_基于Java的教务管理系统

    java项目----教务管理系统_基于Java的教务管理系统 2022-04-22 18:18·java基础 最近为客户开发了一套学校用教务管理系统,主要实现学生.课程.老师.选课等相关的信息化管理功 ...

  5. java私塾 设计模式 视频_[章节]Java Web开发理论部分视频教程 之 04 mvc设计模式详解视频教程 - 我的学习中心 - 私塾在线 - 只做精品视频课程服务...

    第01节课:进行整体课程概览:复习事件机制:复习表现层的功能:复习表现层的开发 第02节课:Web应用的基础知识,包括:Internet.Http.IP.Port.MIME规范.Web客户端和服务端. ...

  6. ccf试题及答案java,ccf认证考试试题答案

    ccf认证考试试题答案 CCF,中国计算机学会,英文全称为China Computer Federation,简称CCF,成立于1962年,是中国计算机科学与技术领域群众性学术团体,属一级学会,独立法 ...

  7. java webservice接口开发_给Java新手的一些建议----Java知识点归纳(J2EE and Web 部分)

    J2EE(Java2 Enterprise Edition) 刚出现时一般会用于开发企业内部的应用系统,特别是web应用,所以渐渐,有些人就会把J2EE和web模式画上了等号.但是其实 J2EE 里面 ...

  8. java web.xml 监听器_【JAVA 核心技术】java web 中的监听器

    为什么要有监听器? 监听器是用来处理一系列事件的java类,可被配置在java web项目中. 既然如此,为什么不用代码直接调用监听器? 这可能是因为J2EE规范规定的项目工程标准,用web.xml指 ...

  9. java 网页应用 原理_【转载】Web应用工作原理

    问题描述: Web应用工作原理 问题解决: 前言 什么是web应用程序?web应用程序又是如何进行工作的呢?什么是动态网页技术?又有 哪些动态网页技术呢?这次这篇文章需要探求总结的. Web应用 我们 ...

最新文章

  1. Golang websocket
  2. DevOps Troubleshooting(1)-运维思想
  3. HDU 4282 A very hard mathematic problem 二分题目
  4. 3、构建并安装PHP扩展
  5. mac 系统下 autoconf 安装
  6. 部份API学习笔记(Math,System,Object,Date,SimpleDateFormat)
  7. java中import的使用
  8. resiprocate之message
  9. 4个步骤教你建立中后台后台通用权限管理系统
  10. jquery获取表单对象
  11. Paper | Multitask learning
  12. 《编码:隐匿在计算机软硬件背后的语言》读书笔记
  13. 打开Word,显示无法创建工作文件,请检查临时环境变量的解决办法
  14. REMIX智能合约实例BALLOT分析
  15. Python操作网页
  16. Neo4j Server shutdown initiated by request最简暴的解决办法。
  17. 计算机大赛搞笑队名,电子设计大赛队名
  18. 计算机组成与结构习题答案,计算机组成与结构习题及答案
  19. IBM员工回顾与华为合作20周年:这是一支有激情的团队
  20. 一个WEB应用的开发流程

热门文章

  1. 究极探秘!你知道程序员最喜欢做的四件事是什么吗?
  2. 好的PHP库离不开一个好的命名空间
  3. 收录批量查询神器 bluecattools
  4. 东风来了的飞鸽传书源码
  5. 龘(若出身在新中国我的65047777
  6. 《红色警戒3》新单位详细介绍:忍者
  7. C++:听说C++很难学?该怎么学习C++?
  8. 预测一下web前端未来的6个趋势
  9. 经典面试题(51):以下代码将输出的结果是什么?
  10. 计算机二级c语言公共基础知识(免费的) 百度云,计算机二级c语言公共基础知识(免费的).doc...