JDK6.0的新特性:轻量级Http Server
来源:百度文库 编辑:神马文学网 时间:2024/04/26 16:12:28
JDK6.0的新特性:轻量级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 jdk6;
import java.io.IOException;
import java.net.InetSocketAddress;
import com.sun.net.httpserver.HttpServer;
public class HTTPServerAPITester {
/** *//**
* The main method.
*
* @param args the args
*/
public static void main(String[] args) {
try {
HttpServer hs = HttpServer.create(new InetSocketAddress(8888),0);//设置HttpServer的端口为8888
hs.createContext("/soddabao", new MyHandler());//用MyHandler类内处理到/chinajash的请求
hs.setExecutor(null); // creates a default executor
hs.start();
} catch (IOException e) {
e.printStackTrace();
}
}
}
package jdk6;
import java.io.IOException;
import java.io.OutputStream;
import com.sun.net.httpserver.HttpExchange;
import com.sun.net.httpserver.HttpHandler;
// TODO: Auto-generated Javadoc
/** *//**
* The Class MyHandler.
*/
public class MyHandler implements HttpHandler {
/**//* (non-Javadoc)
* @see com.sun.net.httpserver.HttpHandler#handle(com.sun.net.httpserver.HttpExchange)
*/
public void handle(HttpExchange httpexchnge) throws IOException {
httpexchnge.getRequestBody();
String response = "
httpexchnge.sendResponseHeaders(200, response.length());
OutputStream os = httpexchnge.getResponseBody();
os.write(response.getBytes());
os.close();
}
}
JDK6提供了一个简单的Http Server API,据此我们可以构建自己的嵌入式Http Server,它支持Http和Https协议,提供了HTTP1.1的部分实现,没有被实现的那部分可以通过扩展已有的Http Server API来实现,程序员必须自己实现HttpHandler接口,HttpServer会调用HttpHandler实现类的回调方法来处理客户端请求,在这里,我们把一个Http请求和它的响应称为一个交换,包装成HttpExchange类,HttpServer负责将HttpExchange传给HttpHandler实现类的回调方法.下面代码演示了怎样创建自己的Http Server
package jdk6;
import java.io.IOException;
import java.net.InetSocketAddress;
import com.sun.net.httpserver.HttpServer;
public class HTTPServerAPITester {
/** *//**
* The main method.
*
* @param args the args
*/
public static void main(String[] args) {
try {
HttpServer hs = HttpServer.create(new InetSocketAddress(8888),0);//设置HttpServer的端口为8888
hs.createContext("/soddabao", new MyHandler());//用MyHandler类内处理到/chinajash的请求
hs.setExecutor(null); // creates a default executor
hs.start();
} catch (IOException e) {
e.printStackTrace();
}
}
}
package jdk6;
import java.io.IOException;
import java.io.OutputStream;
import com.sun.net.httpserver.HttpExchange;
import com.sun.net.httpserver.HttpHandler;
// TODO: Auto-generated Javadoc
/** *//**
* The Class MyHandler.
*/
public class MyHandler implements HttpHandler {
/**//* (non-Javadoc)
* @see com.sun.net.httpserver.HttpHandler#handle(com.sun.net.httpserver.HttpExchange)
*/
public void handle(HttpExchange httpexchnge) throws IOException {
httpexchnge.getRequestBody();
String response = "
Happy New Year 2007!--Soddabao
";httpexchnge.sendResponseHeaders(200, response.length());
OutputStream os = httpexchnge.getResponseBody();
os.write(response.getBytes());
os.close();
}
}
JDK6.0的新特性:轻量级Http Server
JDK6的新特性之二:使用JAXB2来实现对象与XML之间的映射
JDK6的新特性之十一:更简单,更强大的JAX-WS
几种轻量级web server的比较
JDK6的新特性之十一:更简单,更强大的JAX-WS - Java天下社区 - www.javatx.cn - J2SE综合
JDK6的新特性之十一:更简单,更强大的JAX-WS - Java天下社区 - www.javatx.cn - J2SE综合
Java SE 6 新特性: HTTP 增强
Maven2 的新特性
Maven2 的新特性
Maven2 的新特性
微软SQL Server 2005的30项顶尖特性
微软SQL Server 2005的30项顶尖特性
JSP 2.0的新特性
C99 的语言新特性
JSP 2.0的新特性
C99 的语言新特性
轻量级容器的比较
探索 Gdb7.0 的新特性反向调试 (reverse debug)
Apache Http Server 使用
mod_dav - Apache HTTP Server
Apache Http Server 使用
apache http server 防止盜連的方法
Spring2.5的新特性:第一部分
ADO.NET2.0新特性-异步查询