`
suifongqi
  • 浏览: 54367 次
  • 性别: Icon_minigender_1
  • 来自: 成都
社区版块
存档分类
最新评论

jdk6新特性——http server

    博客分类:
  • JAVA
阅读更多
启动下面代码后,浏览器中访问:http://127.0.0.1:8888/hujun
就可以看到结果啦,大家努力尝试其它吧

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

import com.sun.net.httpserver.HttpExchange;
import com.sun.net.httpserver.HttpHandler;
import com.sun.net.httpserver.HttpServer;

public class MyHTTPServer {

public static void main(String[] args)
{
try {
HttpServer hs = HttpServer.create(new InetSocketAddress(8888),0);// 设置HttpServer的端口为8888
hs.createContext("/hujun", new MyHandler());// 用MyHandler类内处理到//hujun的请求
hs.setExecutor(null); // creates a default executor
hs.start();
} catch (Exception e)
{

}
}
}

class MyHandler implements HttpHandler {
public void handle(HttpExchange t) throws IOException {
InputStream is = t.getRequestBody();
String response = "<font color='#ff0000'>come on baby</font>";
t.sendResponseHeaders(200, response.length());
OutputStream os = t.getResponseBody();
os.write(response.getBytes());
os.close();
}
}
分享到:
评论
36 楼 thoriod 2009-05-25  
楼主,你这些代码确实能用吗,com.sun.net.httpserver包下的东西是非公开的,根本访问不到,你自己试过没有啊,没有别乱发好不好
35 楼 javacow 2009-02-16  
我支持楼主的观点。并不是所有的任务都是要求兼容的。
34 楼 unsid 2009-01-15  
另外,如果在编准jdk代码里调用过com.sun.net.httpserver,那么说明在其他厂商jre代码里即便没有com.sun.net.httpserver,也应该有与com.sun.net.httpserver外部行为近似相同的替代品,找找应该能找到
33 楼 unsid 2009-01-15  
gnomewarlock 写道
com.sun 的包在某些集成的可能编译通过不了。


他应该会在开发环境下编译好,再发布到生产环境.
32 楼 unsid 2009-01-15  
有道理,包括之前用的sun.msic.base64Encoder可能在tomcat开发环境下可用,到Websphere下有可能报ClassNotFoundError,以后要是用base64就自己找外部包了..
31 楼 gnomewarlock 2009-01-14  
com.sun 的包在某些集成的可能编译通过不了。
30 楼 everlasting_188 2008-12-19  
被别的语言逼出来的结果!
29 楼 xzs603 2008-12-18  
嘿嘿。。的确很强大!
半年没用过jdk6了
28 楼 cyfgod 2008-12-01  
研究一下是可以的,但不推荐使用。Jetty做得强多了,也成熟稳定很多。特别是Jetty eclipse plugin插件,很适合RCP的开发。
27 楼 thesecondbull 2008-11-30  
内嵌的web容器,java也想烧机了,没啥新鲜的,不过lz顽强的钻研精神值得赞扬
26 楼 elvewyn 2008-11-28  
我就经常用那个BASE64的Decoder和Encoder。挺好的。在jrockit中也能用。
25 楼 metalmax3 2008-11-28  
如果看过axis的源码,可以看到axis也是用sun的非公开包进行密码的加解密,所以有些事也没什么大不了的……
其实挖掘未知也是提高水平的一种手段……:P
24 楼 seemoon 2008-11-28  
拿来做什么?思考一下先!
23 楼 tianhen 2008-11-28  
sdh5724 写道
不要影响别人, 这个API 不能这么使用的, 版主把这个帖切了吧。

怎么能这样? 真理和谬误都是在争论中显现的
22 楼 dch1287 2008-11-28  
Sarah-Brightman 写道
hebermater 写道
Scriptlet 写道
直接用Jetty,比这个可靠多了。
com.sun.*是只有sun的jre才支持的,如果用ibm或者bea的jre呢?


jre不是公共的吗?



同问!


JDK, JRE 不光只有Sun的实现(Implementation) 其他公司也有不少实现(Implementation) 比如IBM, BEA(虽然它被Oracle买了)
Sun的实现只不过是众多实现中的一种 所谓官方实现罢了 但是这种实现往往会有一些缺陷(比如性能) 导致别人必须自己实现一套(根据JCP/JSR) 克服它的缺点
如果你不能保证你的客户只用Sun的JRE 那么最好不要用这样的API咯 不过这个功能迟早要正式加入Sun的JDK,JRE的啦
21 楼 Sarah-Brightman 2008-11-27  
hebermater 写道
Scriptlet 写道
直接用Jetty,比这个可靠多了。
com.sun.*是只有sun的jre才支持的,如果用ibm或者bea的jre呢?


jre不是公共的吗?



同问!
20 楼 ahlon 2008-11-26  
是的,楼主很有钻研精神,这都发现了
19 楼 zelsa 2008-11-25  
xsocket is better
18 楼 luxbob 2008-11-25  
厉害啊,sun藏得这么深,都被你发现了阿,实在佩服。
17 楼 hebermater 2008-11-25  
Scriptlet 写道
直接用Jetty,比这个可靠多了。
com.sun.*是只有sun的jre才支持的,如果用ibm或者bea的jre呢?


jre不是公共的吗?

相关推荐

    JDK 6.2.3文文档.rar

    JDK6新特性目录导航: Desktop类和SystemTray类 JAXB2实现对象与XML之间的映射 StAX Compiler API 轻量级 Http Server API 插入式注解处理API(Pluggable Annotation Processing API) 用Console开发控制台程序 对...

    Java网络编程(第三版)中文版.part11.rar

    内容简介回到顶部↑《Java网络编程》第三版会为你介绍Java网络API的最新特性。本书讨论了JDK 1.4和1.5(现在已命名为J2SE 5)中所做的所有修改和增补。本书内容全面,涵盖了从网络基础知识到远程方法调用(RMI)等各...

    Java网络编程(第三版)高清中文版.part01.rar

    内容简介回到顶部↑《Java网络编程》第三版会为你介绍Java网络API的最新特性。本书讨论了JDK 1.4和1.5(现在已命名为J2SE 5)中所做的所有修改和增补。本书内容全面,涵盖了从网络基础知识到远程方法调用(RMI)等各...

    Java网络编程(第三版)中文版.part06.rar

    内容简介回到顶部↑《Java网络编程》第三版会为你介绍Java网络API的最新特性。本书讨论了JDK 1.4和1.5(现在已命名为J2SE 5)中所做的所有修改和增补。本书内容全面,涵盖了从网络基础知识到远程方法调用(RMI)等各...

    Java网络编程(第三版)中文版.part07.rar

    内容简介回到顶部↑《Java网络编程》第三版会为你介绍Java网络API的最新特性。本书讨论了JDK 1.4和1.5(现在已命名为J2SE 5)中所做的所有修改和增补。本书内容全面,涵盖了从网络基础知识到远程方法调用(RMI)等各...

    Java网络编程(第三版)中文版.part09.rar

    内容简介回到顶部↑《Java网络编程》第三版会为你介绍Java网络API的最新特性。本书讨论了JDK 1.4和1.5(现在已命名为J2SE 5)中所做的所有修改和增补。本书内容全面,涵盖了从网络基础知识到远程方法调用(RMI)等各...

    Java网络编程(第三版)中文版.part01.rar

    内容简介回到顶部↑《Java网络编程》第三版会为你介绍Java网络API的最新特性。本书讨论了JDK 1.4和1.5(现在已命名为J2SE 5)中所做的所有修改和增补。本书内容全面,涵盖了从网络基础知识到远程方法调用(RMI)等各...

    Java网络编程(第三版)中文版.part03.rar

    内容简介回到顶部↑《Java网络编程》第三版会为你介绍Java网络API的最新特性。本书讨论了JDK 1.4和1.5(现在已命名为J2SE 5)中所做的所有修改和增补。本书内容全面,涵盖了从网络基础知识到远程方法调用(RMI)等各...

    Java网络编程(第三版)中文版.part04.rar

    内容简介回到顶部↑《Java网络编程》第三版会为你介绍Java网络API的最新特性。本书讨论了JDK 1.4和1.5(现在已命名为J2SE 5)中所做的所有修改和增补。本书内容全面,涵盖了从网络基础知识到远程方法调用(RMI)等各...

    Java网络编程(第三版)中文版.part02.rar

    内容简介回到顶部↑《Java网络编程》第三版会为你介绍Java网络API的最新特性。本书讨论了JDK 1.4和1.5(现在已命名为J2SE 5)中所做的所有修改和增补。本书内容全面,涵盖了从网络基础知识到远程方法调用(RMI)等各...

    Java网络编程(第三版)中文版.part05.rar

    内容简介回到顶部↑《Java网络编程》第三版会为你介绍Java网络API的最新特性。本书讨论了JDK 1.4和1.5(现在已命名为J2SE 5)中所做的所有修改和增补。本书内容全面,涵盖了从网络基础知识到远程方法调用(RMI)等各...

    Java网络编程(第三版)中文版.part13.rar

    内容简介回到顶部↑《Java网络编程》第三版会为你介绍Java网络API的最新特性。本书讨论了JDK 1.4和1.5(现在已命名为J2SE 5)中所做的所有修改和增补。本书内容全面,涵盖了从网络基础知识到远程方法调用(RMI)等各...

    Java网络编程(第三版)中文版.part10.rar

    内容简介回到顶部↑《Java网络编程》第三版会为你介绍Java网络API的最新特性。本书讨论了JDK 1.4和1.5(现在已命名为J2SE 5)中所做的所有修改和增补。本书内容全面,涵盖了从网络基础知识到远程方法调用(RMI)等各...

    Java网络编程(第三版)中文版.part12.rar

    内容简介回到顶部↑《Java网络编程》第三版会为你介绍Java网络API的最新特性。本书讨论了JDK 1.4和1.5(现在已命名为J2SE 5)中所做的所有修改和增补。本书内容全面,涵盖了从网络基础知识到远程方法调用(RMI)等各...

    Java网络编程(第三版)中文版.part08.rar

    内容简介回到顶部↑《Java网络编程》第三版会为你介绍Java网络API的最新特性。本书讨论了JDK 1.4和1.5(现在已命名为J2SE 5)中所做的所有修改和增补。本书内容全面,涵盖了从网络基础知识到远程方法调用(RMI)等各...

    新版Android开发教程.rar

    o JDK 5 or JDK 6 (JRE alone is not sufficient) o Apache Ant 1.6.5 or later for Linux and Mac, 1.7 or later for Windows o Not Not Not Not compatible with Gnu Compiler for Java (gcj) Note: Note: Note: ...

Global site tag (gtag.js) - Google Analytics