`

Java API实现HTTP Server

 
阅读更多
    JDK6提供了一个简单的Http Server API,据此我们可以构建自己的嵌入式Http Server,它支持Http和Https协议,提供了HTTP1.1的部分实现,没有被实现的那部分可以通过扩展已有的Http Server API来实现,程序员必须自己实现HttpHandler接口,HttpServer会调用HttpHandler实现类的回调方法来处理客户端请求,在这里,我们把一个Http请求和它的响应称为一个交换,包装成HttpExchange类,HttpServer负责将HttpExchange传给HttpHandler实现类的回调方法。下面代码演示了怎样创建自己的Http Server。

package com.ajita;

import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.net.InetSocketAddress;

import com.sun.net.httpserver.*;

public class MyHttpServer {

	public static void main(String[] args) {
		try {
			HttpServer hs = HttpServer.create(new InetSocketAddress(7777), 0);
			hs.createContext("/myrequest", new MyHandler());
			hs.setExecutor(null);
			hs.start();
		} catch (IOException e) {
			e.printStackTrace();
		}
	}
}

class MyHandler implements HttpHandler {
	public void handle(HttpExchange t) throws IOException {
		System.out.println(t.getRequestURI().toString());
		InputStream is = t.getRequestBody();
		byte[] temp = new byte[is.available()];
		is.read(temp);
		System.out.println(new String(temp));
		String response = "<h3>Hello World!</h3>";
		t.sendResponseHeaders(200, response.length());
		OutputStream os = t.getResponseBody();
		os.write(response.getBytes());
		os.close();
	}
}


在浏览器中输入地址http://localhost:7777/myrequest?a=1,就可以看到结果。
分享到:
评论

相关推荐

    JavaServer Pages API

    JavaServer Pages API

    JAVA_API1.6文档(中文)

    java.rmi.server 提供支持服务器端 RMI 的类和接口。 java.security 为安全框架提供类和接口。 java.security.acl 此包中的类和接口已经被 java.security 包中的类取代。 java.security.cert 提供用于解析和管理...

    JavaAPI1.6中文chm文档 part1

    java.rmi.server 提供支持服务器端 RMI 的类和接口。 java.security 为安全框架提供类和接口。 java.security.acl 此包中的类和接口已经被 java.security 包中的类取代。 java.security.cert 提供用于解析和管理...

    Java 1.6 API 中文 New

    java.rmi.server 提供支持服务器端 RMI 的类和接口。 java.security 为安全框架提供类和接口。 java.security.acl 此包中的类和接口已经被 java.security 包中的类取代。 java.security.cert 提供用于解析和管理证书...

    JavaServer Pages API Documentation

    JavaServer Pages API Documentation jspapi提供给你帮助

    java MQTT server ,MQTT client 直接使用java实现,快速连接物联网

    支持 http rest api,http api 文档详见。 支持 MQTT client 客户端。 支持 MQTT server 服务端。 支持 MQTT 遗嘱消息。 支持 MQTT 保留消息。 支持自定义消息(mq)处理转发实现集群。 MQTT 客户端 阿里云 ...

    JavaServer Faces API (2_0)

    JavaServer Faces (2.0) 框架 API 帮助文档 英文版

    JavaAPI中文chm文档 part2

    java.rmi.server 提供支持服务器端 RMI 的类和接口。 java.security 为安全框架提供类和接口。 java.security.acl 此包中的类和接口已经被 java.security 包中的类取代。 java.security.cert 提供用于解析和管理...

    jsp-api(JavaServer Pages API Documentation )

    JavaServer Pages API Documentation

    openstack java api jar 包

    这个java jar 压缩包 是 openstack-java-api maven工程编译后的核心(部分)jar文件,通过这些jar 文件 您可以建立java project ,然后使用java 的方式来connect the openstack 测试 没问题 可以list server list ,...

    Java Server Faces API 组件标签 API Reference 速查手册

    Java Server Faces API 组件标签 API Reference 速查手册 HTML_BASIC RenderKit javax.faces.Command javax.faces.Button javax.faces.Link javax.faces.Data javax.faces.Table javax.faces.Form javax.faces...

    JavaServer Pages (JSP)

    JavaServer Pages (JSP) 技术提供了一种简单快速的方法来创建显示动态生成内容的 Web 页面。由业界处于领先地位的 Sun 公司制定了相关的 JSP 技术规范,该规范定义了如何在服务器和 JSP 页面间进行交互,还描述了...

    java -opc ua 连接kepserver 源码

    maven架构 idea编辑器 包含读取、写入、订阅、批量订阅、断点续传等功能、 下载后可直接运行 内容很简单,就一个类,采用匿名登录的方式,代码和测试全在一个类里面 注释很详细

    Java 嵌入apache.ftpserver.FtpServer 实现FTP服务

    用Java调用apache.ftpserver.FtpServer相关API完成FTP的被动模式实现。

    java jdk-api-1.6 中文 chmd

    java.rmi.server 提供支持服务器端 RMI 的类和接口。 java.security 为安全框架提供类和接口。 java.security.acl 此包中的类和接口已经被 java.security 包中的类取代。 java.security.cert 提供用于解析和管理...

    java-api-server

    Java API 服务器 p 这是使用 Jersey/JAX-RS 的基于 Java 的 API 服务器的初始构建,它包括以下功能: CRUD 完整的获取和发布请求 连接到服务器以添加项目的示例 HTML 表单

    JavaServer Faces API (2.0)

    JavaServer Faces API (2.0)

    Java JDBC Sql Server 驱动 Jar包 Java7,8

    不断致力于互操作性,Microsoft 提供与 SQL Server 和 Azure SQL 数据库使用了一个 Java 数据库连接 (JDBC) 驱动程序。 该驱动程序免费提供,不需要额外付费,并且可从任何 Java 应用程序、应用程序服务器或支持 ...

Global site tag (gtag.js) - Google Analytics