游泳

Java SE 6 新特性- HTTP 增强3

2019-10-16 12:37:00来源:励志吧0次阅读

例子  下面这个简单的例子说明了 Cookie 相关的管理功能:

// 创建一个默认的 CookieManager

CookieManager manager = new CookieManager();

// 将规则改掉,接受所有的 Cookie

manager.setCookiePolicy(CookiePolicy.ACCEPT_ALL);

// 保存这个定制的 CookieManager

CookieHandler.setDefault(manager);

// 接受 HTTP 请求的时候,得到和保存新的 Cookie

HttpCookie cookie = new HttpCookie("...(name)...","...(value)...");

manager.getCookieStore().add(uri, cookie);

// 使用 Cookie 的时候:

// 取出 CookieStore

CookieStore store = manager.getCookieStore();

// 得到所有的 URI

List<URI> uris = store.getURIs();

for (URI uri : uris) {

// 筛选需要的 URI

// 得到属于这个 URI 的所有 Cookie

List<HttpCookie> cookies = store.get(uri);

for (HttpCookie cookie : cookies) {

// 取出了 Cookie

}

}

// 或者,取出这个 CookieStore 里面的全部 Cookie

// 过期的 Cookie 将会被自动删除

List<HttpCookie> cookies = store.getCookies();

for (HttpCookie cookie : cookies) {

// 取出了 Cookie

}

其他新特性

NetworkInterface 的增强  从 Java SE 1.4 开始,JDK 当中出现了一个网络工具类 java.net.NetworkInterface,提供了一些网络的实用功能。 在 Java SE 6 当中,这个工具类得到了很大的加强,新增了很多实用的方法。例如:

publicbooleanisUp()

用来判断网络接口是否启动并运行

publicbooleanisLoopback()

用来判断网络接口是否是环回接口(loopback)  publicbooleanisPointToPoint()

用来判断网络接口是否是点对点(P2P)网络

publicbooleansupportsMulticast()

用来判断网络接口是否支持多播

publicbyte[]getHardwareAddress()

用来得到硬件地址(MAC)

publicintgetMTU()

用来得到最大传输单位(MTU,Maximum Transmission Unit)

publicbooleanisVirtual()

用来判断网络接口是否是虚饨涌?

关于此工具类的具体信息,请参考 Java SE 6 相应文档(见 参考资源)。

域名的国际化  在最近的一些 RFC 文档当中,规定 DNS 服务器可以解析除开 ASCII 以外的编码字符。有一个算法可以在这种情况下做 Unicode 与 ASCII 码之间的转换,实现域名的国际化。java.net.IDN 就是实现这个国际化域名转换的新类,IDN 是“国际化域名”的缩写(internationalized domain names)。这个类很简单,主要包括 4 个静态函数,做字符的转换。

结束语

Java SE 6 有着很多 HTTP 相关的新特性,使得 Java SE 平台本身对网络编程,尤其是基于 HTTP 协议的因特网编程,有了更加强大的支持。

晋城白癜病医院
武汉什么医院治牛皮癣
宜昌治疗子宫内膜炎费用
宿迁妇科
重庆治疗性功能障碍费用
分享到: