天天看点

JDK6.0的新特性:轻量级HttpServer

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

server

/**

* created by intellij idea.

* user: chinajash

* date: dec 30, 2006

*/

public class httpserverapitester {

 public static void main(string[] args) {

  try {

   httpserver hs = httpserver.create(new inetsocketaddress(8888),0);//设置httpserver的端口为8888

   hs.createcontext("/chinajash", new myhandler());//用myhandler类内处理到/chinajash的请求

   hs.setexecutor(null); // creates a default executor

   hs.start();

  } catch (ioexception e) {

   e.printstacktrace();

  }

 }

}

class myhandler implements httphandler {

 public void handle(httpexchange t) throws ioexception {

  inputstream is = t.getrequestbody();

  string response = "<h3>happy new year 2007!--chinajash</h3>";

  t.sendresponseheaders(200, response.length());

  outputstream os = t.getresponsebody();

  os.write(response.getbytes());

  os.close();

继续阅读