如何写一个简单的HTTP服务器

如何写一个简单的HTTP服务器,第1张

本Guide利用Eclipse及Ant建立简单Web Service演示Web Service基本发程:

1系统条件:

Eclipse Java EE IDE for Web Developers

Java SE 6

Windows XP

2基本环境搭建:

1)Java SE6 JDK安装:载Java SE6 JDK双击安装默认选项进行安装即

2)Eclipse安装与配置:

安装直接解压

配置处两点Window>Preferences>Java>Installed JREs确保设置:

安装路径能略同

Window>Preferences>Java>Compiler 确保设置:

3建立Server端工程相关包与类:

创建Java Project命名wsServerHelloWorld:

项目建立包:orggnuhpcwsServer

包边建立类:SayHello

SayHellojava文件输入代码:

package orggnuhpcwsServer;

import javaxjwsWebService;

@WebService

public class SayHello {

private static final String SALUTATION = "Hello";

public String getGreeting(String name) {

return SALUTATION + " " + name;

}

}

其注意@WebService 称作annotation或者metadataJava SE 5Web Services Metadata Specification引入Java SE 6于Web Services规范升级及JAX-WS(Java API for XML Web Services)20规范些升级使我Web Services创建调用变更加容易使用些新功能我仅仅使用简单Annotations注释Java类创建Web Services发者其类前用该annotations指定类告诉runtime engineWeb Service式操作使能该类annotations产布署Web ServiceWSDL映射annotationsJava源代码与代表Web ServiceWSDL元素连接起

4使用Ant产Server端代码:

首先项目新建文件:buildxml使用OpenWith>AntEditor打输入脚本代码:

<arg line="-cp /bin -keep -s /src -d /bin

orggnuhpcwsServerSayHello"/>

default指定默认执行Targetwsgen,wsgen创建能够使用WebService类所用于WebService发布源代码文件经编译二进制类文件WSDL符合规范该类WebService

Target名称wsgen具体执行命令参数:

-cp 类路径

-keep产java文件

-s 产源文件放哪

-d 产输问价放哪

使用Ant Build选项运行:

功执行提示我刷新Project

我Project区域看结:

5布Web Service

orggnuhpcwsServer建立类RunService:

package orggnuhpcwsServer;

import javaxxmlwsEndpoint;

public class RunService {

/

@paramargs

/

public static void main(String[] args) {

Systemoutprintln("SayHello Web Service started");

Endpointpublish("" ,

new SayHello());

}

}

运行Run As>Java Application我结说明web serviceServer端已经启

6查看WSDL:

Window>Show View>Other>General>Internal Web Browser其输入:wsdl

看看底WSDL都记录哪些信息看完停止该Server

7监测Server

我创建完Server用Eclipse Web Services Explorer监测Server

Window>Open Perspective>Other >JavaEE

打Eclipse Web Services Explorer

点击右角WSDL Page按钮:

单击WSDL MainURL输入:wsdl 按Go按钮现视图:

我触发Web Service操作:点击getGreetings添加参数比gnuhpc点击Go按钮:

8创建Client端 工程相关包与类:

创建Java Project命名wsClientHelloWorld项目建立包:orggnuhpcwsClient

9使用Ant产Client代码框架:

编写Web service使用工具利用WSDL进行调用客户端桩;或者使用底层API手编写Web service前者便者灵现我通前者做说明:

新建文件buildxml

New>File>buildxml

<arg line="-keep -s /src -p orggnuhpcwsClient

-d /bin wsdl"/>

注意:wsgen 支持 Java class 创建 Web serviceswsimport 支持 WSDL 创建 Web services别应于 JAX-RPC 式 Java2WSDL WSDL2Java要根据发布WSDL进行创建要先运行RunServer原

运行ServerRunService : Run As>Java Application>

运行该Ant脚本产Client代码:Run As>Ant Build

运行功提示:

代码:

步读取WSDL并客户端桩些桩我代码所用Java类接口些桩给服务器端功能提供客户端接口例我服务器提供Maths服务该服务带叫做add我客户端代码调用桩桩实现该使用参数封装Java调用变Webservice请求请求基于HTTP发送给服务器且使用SOAP作RPC协议监听服务器接收该SOAP消息(十八九)其转换服务器处调用

利用Python自带的包可以建立简单的web服务器。在DOS里cd到准备做服务器根目录的路径下,输入命令:\x0d\python -m Web服务器模块 [端口号,默认8000]\x0d\例如:\x0d\python -m SimpleHTTPServer 8080\x0d\然后就可以在浏览器中输入\x0d\h ttp://loca lhost:端口号/路径\x0d\来访问服务器资源。 \x0d\例如:\x0d\h ttp://local host:808 0/indexh tm(当然indexhtm文件得自己创建)\x0d\其他机器也可以通过服务器的IP地址来访问。\x0d\\x0d\这里的“Web服务器模块”有如下三种:\x0d\\x0d\BaseHTTPServer: 提供基本的Web服务和处理器类,分别是HTTPServer和BaseHTTPRequestHandler。\x0d\SimpleHTTPServer: 包含执行GET和HEAD请求的SimpleHTTPRequestHandler类。\x0d\CGIHTTPServer: 包含处理POST请求和执行CGIHTTPRequestHandler类。

这是一个真实的HTTP请求的例子,其中每一行都以\r\n结尾。由于我们写的是简单的服务器,所以我们只关心其中的几行。

第一行称为请求行,GET是请求方法,表示获取资源,除此之外还有POST方法、PUT方法、HEAD方法、DELETE方法和OPTIONS方法等。由于我们写一个简单的服务器,所以暂时仅支

持GET方法。/是URI,表示客户希望访问的资源的URI。HTTP/11是HTTP协议的版本,此例中表示11版本。我们需要解析请求行,需要解析出方法字段、URI和HTTP协议版本。

第二行是Host字段,表示所请求的资源所在的主机名和端口号。

第三行User-Agent是客户的浏览器的类型,此例是运行在Ubuntu上的Firefox浏览器。

第四行Accept表示客户接受的资源的类型。

第四行Accept-Language表示客户接受的语言类型。

第五行Connection表示服务器在发送完客户请求的数据之后是否断开TCP连接。keep-alive表示不断开,close表示断开。

从上面来讲就是这样:

服务器,也称伺服器。服务器是网络环境中的高性能计算机,它侦听网络上的其他计算机(客户机)提交的服务请求,并提供相应的服务,为此,服务器必须具有承担服务并且保障服务的能力。有时,这两种定义会引起混淆,如Web服务器,它可能是指用于网站的计算机,也可能是指像Apache这样的软件,运行在这样的计算机上以管理网页组件和回应网页浏览器的请求。

简单的说就是为用户处理某一类(或某几类)服务的高性能计算机或软件。

参考答案:http://zhidaobaiducom/question/506304644htmlfr=team

利用Python自带的包可以建立简单的web服务器。在DOS里cd到准备做服务器根目录的路径下,输入命令:

python -m Web服务器模块 [端口号,默认8000]

例如:

python -m SimpleHTTPServer 8080

然后就可以在浏览器中输入

h ttp://loca lhost:端口号/路径

来访问服务器资源。

例如:

h ttp://local host:808 0/indexh tm(当然indexhtm文件得自己创建)

其他机器也可以通过服务器的IP地址来访问。

这里的“Web服务器模块”有如下三种:

BaseHTTPServer: 提供基本的Web服务和处理器类,分别是HTTPServer和BaseHTTPRequestHandler。

SimpleHTTPServer: 包含执行GET和HEAD请求的SimpleHTTPRequestHandler类。

CGIHTTPServer: 包含处理POST请求和执行CGIHTTPRequestHandler类。

当我们拿到一台服务器,但是不知道如何把电脑里的文件;网站源码上传到服务器里。下面我来告诉大家用一种简单的方式将文件上传到服务器里!

DABAN RP主题是一个优秀的主题,极致后台体验,无插件,集成会员系统
网站模板库 » 如何写一个简单的HTTP服务器

0条评论

发表评论

提供最优质的资源集合

立即查看 了解详情