`
suifongqi
  • 浏览: 55599 次
  • 性别: 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不是公共的吗?

相关推荐

    Java JDK 6学习笔记——ppt简体版

    Java JDK 6学习笔记主要涵盖了Java开发工具集(Java Development Kit)的第六个主要版本,这是一个重要的里程碑,因为它为开发者提供了许多新特性和改进。在这个版本中,Java平台的稳定性和性能得到了显著提升,同时...

    JDK7.0新特性

    ### JDK 7.0 新特性详解 随着Java技术的不断发展和完善,每一版更新都带来了新的特性和优化。JDK 7.0作为Java发展史上的一个重要里程碑,不仅增强了语言本身的特性,还在运行时环境中加入了多项重要的改进。接下来...

    JDK 6.2.3文文档.rar

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

    jdk1.5 windows版本 64位

    此外,JDK 1.5还引入了新的编译器——Client Compiler和Server Compiler,根据不同的场景选择合适的编译策略,提升代码执行速度。 总结,JDK 1.5的64位Windows版本为Java开发者提供了在64位系统上开发和运行Java...

    JavaJDK6学习教程ppt简体中文版附课本代码

    JDK6引入了许多新特性和改进,比如增强的Swing组件、改进的垃圾收集算法、新的I/O流类库、动态代理以及对XML处理的增强等。 在"Java JDK 6学习笔记——ppt简体版"中,你将系统地了解到以下几个关键知识点: 1. **...

    jdk7-aarch64-uos.tar.gz

    首先,JDK7是Oracle公司发布的Java平台标准版(Java Platform, Standard Edition)的第七个主要版本,它引入了多项重要的新特性和改进。例如,动态语言支持、Fork/Join框架、并发工具的增强以及新的编译器——CTW...

    精通JavaJDK、数据库系统开发Web开发程序源文件

    掌握JavaJDK意味着理解如何配置环境变量,使用命令行工具进行编译和运行,以及了解Java语言的核心特性,如面向对象编程、异常处理、多线程、输入输出流等。 2. **数据库系统开发**: 数据库是存储和管理数据的重要...

    jdk11和Tomcat9.zip

    本文将详细探讨JDK11的新特性及其与Tomcat9的集成与配置。 **JDK11的新特性** 1. **模块化系统(Project Jigsaw)**:JDK11引入了Java平台模块系统(JPMS),使得大型项目可以更好地组织和管理其依赖关系。模块化...

    JDK10(JDK10底层C++源码及hotspot虚拟机源码)

    1. **编译器(Compilers)**:HotSpot包含两个主要的编译器——C1(Client Compiler)和C2(Server Compiler)。C1用于快速启动,而C2用于长期运行的应用,提供更高的性能。JDK10可能会对这两个编译器进行优化以提升...

    JDK API 1.6.0

    《JDK API 1.6.0》是一份极为重要的开发手册,它针对的是Java编程语言的核心工具集——Java Development Kit (JDK) 的1.6.0版本。这个版本在Java的发展历程中占有重要地位,因为它包含了许多对开发者来说至关重要的...

    最新版windows Mycat-server-1.6.7.5-release-20200410174409-win.tar.gz

    在本文中,我们将详细探讨最新版的Mycat——Mycat-server-1.6.7.5-release-20200410174409在Windows操作系统上的安装、配置和使用。 1. **下载与解压** 首先,你需要从官方网站或可信的源获取`windows Mycat-...

    tomcat+免jdk

    【标签】:“tomcat+免jdk”是对这个主题的精炼概括,强调了Tomcat服务器的关键特性——无需JDK即可运行。 【压缩包子文件的文件名称列表】:未提供具体文件内容,但“server_Min”很可能是一个简化的服务器文件夹...

    Java开发必备工具——你想要的全套开发工具1——Tomcat6和7

    本资源包“Java开发必备工具——你想要的全套开发工具1——Tomcat6和7”聚焦于这两个版本的Tomcat,它们在过去的开发环境中广泛使用。下面将详细介绍Java开发工具和Tomcat6及7的相关知识点。 首先,Java ...

    jdk-8u251-windows-x64.exe等2个文件.zip

    JDK 8提供了许多特性,例如Lambda表达式、Stream API、新的日期和时间API等,这些都极大地增强了开发效率和代码可读性。 接下来,"apache-tomcat-8.5.55.exe" 是Apache Tomcat的安装程序,它是一个开源的Java ...

    Linux版本jdk和Tomcat(官网的).zip

    本压缩包"Linux版本jdk和Tomcat(官网的).zip"提供了Linux环境下运行Java应用程序的基础——JDK(Java Development Kit)和Tomcat服务器,两者都是官方版本,确保了稳定性和安全性。以下是关于这两个组件的详细知识...

    jdk7_part3,共3部分

    JDK 7是Java的一个重要版本,引入了许多新特性和改进,提升了开发效率和程序性能。下面将详细讨论JDK 7的组成部分及其在"jdk7_part3,共3部分"中可能包含的关键知识点。 1. **bin目录**: - `bin`目录包含了各种可...

    jdk-17_linux-x64_bin.zip

    JDK的每个新版本都会引入新的特性和改进,旨在提升性能、安全性和稳定性。JDK 17是一个长期支持(LTS)版本,这意味着它将得到更长时间的更新和支持,对于企业和生产环境尤其重要。 关于JDK 17,以下几个知识点值得...

    jdk1.6扩展类与属性.txt

    在Java Development Kit (JDK) 1.6版本中,新增加了一个非常实用的功能——`Desktop.SystemTray`。此功能是AWT(Abstract Window Toolkit)的一部分,用于实现桌面系统托盘图标的支持。 ##### Desktop.SystemTray...

    java学习笔记JDK6课件之一

    Java的这种特性得益于其虚拟机——Java虚拟机(JVM),它使得Java代码能够在任何安装了JVM的设备上执行。 Java有三个主要的应用平台:Java Platform, Standard Edition (Java SE),Java Platform, Enterprise ...

    jdk-8u162-windows-x64

    这个版本的JDK在Java 8发布后进行了多次更新,以修复已知问题、提高性能和添加新特性。 描述中的“jdk-8u162-windows-x64+apache-tomcat-8.0.50-windows-x64”提到了另一个关键组件——Apache Tomcat 8.0.50。...

Global site tag (gtag.js) - Google Analytics