`

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(JSP)API 是Java平台上的一个核心组件,用于开发动态Web应用程序。它允许程序员将HTML或XML文档的静态部分与Java代码的动态部分结合起来,使得Web服务器能够生成响应并返回给客户端。JSP API 包含...

    JAVA_API1.6文档(中文)

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

    java http post client server

    在Java编程环境中,HTTP POST客户端和服务器的交互是网络编程中的常见任务,广泛应用于Web服务、API调用等场景。本篇文章将详细讲解如何使用Java实现HTTP POST客户端和服务器,并探讨相关知识点。 首先,让我们从...

    Hbase调用JavaAPI实现批量导入操作

    这篇博客“Hbase调用Java API实现批量导入操作”聚焦于如何利用Java编程语言高效地向HBase中批量导入数据。在这个过程中,我们将探讨以下几个关键知识点: 1. **HBase架构**: HBase是基于列族的存储模型,数据被...

    Kettle java API

    Kettle支持并行和分布式处理,Java API提供了相应接口和类来配置和控制这种执行模式,如`ClusterSchema`、`SlaveServer`和`ReplicateStepMeta`。 10. **Error Handling and Retry Logic**: Kettle API提供了错误...

    用户信息管理系统 JAVA GUI+SQL server2014实现

    总结来说,"用户信息管理系统 JAVA GUI+SQL server2014实现"项目涵盖了Java图形化界面设计、数据库管理、基本的CRUD操作以及数据库配置等多个IT技术点。通过这个项目,开发者可以提升对GUI编程和数据库管理的理解,...

    java api大集合

    3. **JPA(Java Persistence API)**:提供了对象关系映射(ORM)框架,简化了数据库操作,如Hibernate和EclipseLink是其常见的实现。 4. **JMS(Java Message Service)**:允许应用之间通过消息传递进行异步通信。...

    JavaServer Pages API Documentation

    JavaServer Pages API Documentation jspapi提供给你帮助

    Java连接opc所需的jar包,以及Java实现opc server客户端的源码.zip

    总之,`Java连接opc所需的jar包,以及Java实现opc server客户端的源码.zip`这个压缩包提供了在Java环境中实现OPC客户端功能的所有必要组件。通过理解和应用这些资源,开发者可以轻松地在Java应用程序中集成OPC通信,...

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

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

    tm1的javaapi(tm1 development for java用的着)

    在Java环境中,这通常意味着引入特定的库(如com.tibco.tm1.api.jar)到项目中,并通过创建对象、调用方法来实现与TM1的通信。 1. **连接管理**:开发者需要学会如何建立和管理与TM1服务器的连接。这包括创建`TM1...

    Java API文档.rar

    Java API文档是Java开发者的重要参考资料,它包含了Java Standard Edition (JavaSE) 和 Enterprise Edition (JavaEE) 的核心类库及接口的详细说明。这些文档详细解释了Java平台提供的各种类、接口、方法以及它们的...

    java API和编程规范中文版

    在JSP(JavaServer Pages)开发中,理解Java API和编程规范尤为重要。JSP是Java平台上的动态网页技术,它允许开发者在HTML页面中嵌入Java代码,从而实现服务器端的逻辑处理。Java API中的Servlet和JSP API对于构建...

    java -opc ua 连接kepserver 源码

    本项目利用Java语言实现对KepServer的 OPC UA连接,通过Maven构建系统进行管理,并在IntelliJ IDEA编辑器中进行开发。项目包含了读取、写入、订阅和批量订阅等基本功能,同时具备断点续传的能力,方便开发者进行调试...

    javaAPI中文chm大全

    1. **Java 1.6 API**:Java API是Java开发的核心,提供了大量预定义的类和接口,用于实现各种功能。Java 1.6 API文档详细解释了这些类和接口的用法,包括它们的方法、构造函数、异常处理等。开发者可以从中学习到...

    JavaAPI(中文版)

    J2EE则专为构建分布式、企业级应用而设计,它包含了Web容器和应用服务器,提供诸如Servlet、JSP(Java Server Pages)、EJB(Enterprise JavaBeans)、JMS(Java Message Service)、JTA(Java Transaction API)等...

    Java_API中文完整版

    然而,基于标题“Java_API中文完整版”和描述“Java_API中文完整版Java_API中文完整版”,我们可以推断出这份材料可能是关于Java API的一个文档或者资源集合。为了更好地满足您的需求,我们将从Java API的基本概念、...

    java版本 Webdavserver ftpserver

    Java版本的WebDAVServer和FTPServer是两个用于文件共享和服务的服务器软件,它们都是基于Java语言开发的。WebDAV(Web-based Distributed Authoring and Versioning)是一种扩展HTTP协议的技术,允许用户编辑和管理...

    Java实现SqlServer及MySql的备份与还原

    Java 实现 SqlServer 及 MySql 的备份与还原 Java 实现 SqlServer 及 MySql 的备份与还原是通过使用 Java 语言来实现数据库的备份和还原操作。本文将介绍如何使用 Java 语言来实现 SqlServer 及 MySql 的备份与还原...

    JavaServer Faces API (2_0)

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

Global site tag (gtag.js) - Google Analytics