博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
来自java文档 java.net包
阅读量:5335 次
发布时间:2019-06-15

本文共 3688 字,大约阅读时间需要 12 分钟。

软件包 java.net

为实现网络应用程序提供类。

请参见:

接口摘要

此接口定义内容处理程序的工厂。

CookiePolicy 实现决定应该接受哪个 cookie 以及应该拒绝哪个 cookie

表示 cookie 存储区的 CookieStore 对象。

此接口定义用于数据报套接字实现的工厂。

提供在文件名和 MIME 类型字符串之间进行映射的机制的简单接口。

此接口定义用于套接字实现的工厂。

获取/设置套接字选项的方法的接口。

该接口为 URL 流协议处理程序定义一个工厂。

 

类摘要

Authenticator 类表示懂得如何获得网络连接验证的对象。

表示在 ResponseCache 中存储资源的通道。

表示从 ResponseCache 获取资源的通道。

抽象类 ContentHandler 是从 URLConnection 读取 Object 的所有类的超类。

CookieHandler 对象提供一种回调机制以将 HTTP 状态管理策略实现挂钩到 HTTP 协议处理程序。

CookieManager 提供 的具体实现,它将 cookie 的存储区与围绕接受和拒绝 cookie 的策略分离开来。

此类表示数据报包。

此类表示用来发送和接收数据报包的套接字。

数据报和多播套接字实现的抽象基类。

HttpCookie 对象表示一个 http cookie,该 cookie 带有服务器和用户代理之间的状态信息。

支持 HTTP 特定功能的 URLConnection

提供在普通 Unicode 表示形式和 ASCII 兼容性编码 (ACE) 表示形式之间进行国际化域名 (IDN) 转换的方法。

此类表示 Internet Protocol version 4 (IPv4) 地址。

此类表示互联网协议第 6 (IPv6) 地址。

此类表示互联网协议 (IP) 地址。

此类实现 IP 套接字地址(IP 地址 + 端口号)。

此类表示网络接口地址。

连接到 Java ARchive (JAR) 文件或 JAR 文件中条目的 URL Connection

多播数据报套接字类用于发送和接收 IP 多播包。

此类可用于各种网络权限。

此类表示一个由名称和分配给此接口的 IP 地址列表组成的网络接口。

PasswordAuthentication 类是供 Authenticator 使用的数据持有者。

此类表示代理设置,通常为类型(httpsocks)和套接字地址。

连接到 URL 引用的网络资源时选择要使用的代理服务器(如果有)。

表示 URLConnection 缓存的实现。

表示最初通过安全方法(如 TLS)获得的缓存响应。

此类实现服务器套接字。

此类实现客户端套接字(也可以就叫套接字)。

此类表示不带任何协议附件的 Socket Address

抽象类 SocketImpl 是实际实现套接字的所有类的通用超类。

此类表示通过套接字对网络的访问。

表示一个统一资源标识符 (URI) 引用。

URL 代表一个统一资源定位符,它是指向互联网资源的指针。

该类加载器用于从指向 JAR 文件和目录的 URL 的搜索路径加载类和资源。

抽象类 URLConnection 是所有类的超类,它代表应用程序和 URL 之间的通信链接。

HTML 格式解码的实用工具类。

HTML 格式编码的实用工具类。

抽象类 URLStreamHandler 是所有流协议处理程序的通用超类。

 

枚举摘要

请求验证的实体的类型。

表示代理类型。

 

异常摘要

试图将套接字绑定到本地地址和端口时发生错误的情况下,抛出此异常。

试图将套接字连接到远程地址和端口时发生错误的情况下,抛出此异常。

抛出此异常指示 HTTP 请求需要重试,但由于启用了流模式而无法自动重试。

抛出这一异常指示出现了错误的 URL

试图将套接字连接到远程地址和端口时发生错误的情况下,抛出此异常。

在连接的数据报上已接收到 ICMP Port Unreachable 消息时,抛出该异常。

抛出此异常指示在底层协议中存在错误,如 TCP 错误。

抛出此异常指示在底层协议中存在错误,如 TCP 错误。

如果在读取或接受套接字时发生超时,则抛出此异常。

指示主机 IP 地址无法确定而抛出的异常。

抛出这一异常指示出现了未知服务异常。

抛出经过检查的指示字符串不能解析为 URI 引用的异常。

软件包 java.net 的描述

为实现网络应用程序提供类。

java.net 包可以大致分为两个部分:

低级 API
,用于处理以下抽象:
地址
,也就是网络标识符,如 IP 地址。
套接字
,也就是基本双向数据通信机制。
接口
,用于描述网络接口。
高级 API
,用于处理以下抽象:
URI
,表示统一资源标识符。
URL
,表示统一资源定位符。
连接
,表示到 URL 所指向资源的连接。

地址

在整个 java.net API 中,地址或者用作主机标识符或者用作套接字端点标识符。

类是表示 IPInternet 协议)地址的抽象。它拥有两个子类:

用于 IPv4 地址的
用于 IPv6 地址的

但是,在大多数情况下,不必直接处理子类,因为 InetAddress 抽象应该覆盖大多数必需的功能。

关于 IPv6

并非所有系统都支持 IPv6 协议,而当 Java 网络连接堆栈尝试检测它并在可用时透明地使用它时,还可以利用系统属性禁用它。在 IPv6 不可用或被显式禁用的情况下,Inet6Address 对大多数网络连接操作都不再是有效参数。虽然可以保证在查找主机名时 java.net.InetAddress.getByName 之类的方法不返回Inet6Address,但仍然可能通过传递字面值来创建此类对象。在此情况下,大多数方法在使用Inet6Address 调用时都将抛出异常。

套接字

套接字是在网络上建立机器之间的通信链接的方法。java.net 包提供 4 种套接字:

TCP 客户端 API,通常用于远程主机。
TCP 服务器 API,通常源于客户端套接字的连接。
UDP 端点 API,用于
DatagramSocket 的子类,在处理多播组时使用。

使用 TCP 套接字的发送和接收操作需要借助 InputStream OutputStream 来完成,这两者是通过 方法获取的。

接口

类提供 API 以浏览和查询本地机器的所有网络接口(例如,以太网连接或 PPP 端点)。只有通过该类才可以检查是否将所有本地接口都配置为支持 IPv6

高级 API

java.net 包中的许多类可以提供更加高级的抽象,允许方便地访问网络上的资源。这些类为:

是表示在 RFC 2396 中指定的统一资料标识符的类。顾名思义,它只是一个标识符,不直接提供访问资源的方法。
是表示统一资源定位符的类,它既是 URI 的旧式概念又是访问资源的方法。
是根据 URL 创建的,是用于访问 URL 所指向资源的通信链接。此抽象类将大多数工作委托给底层协议处理程序,如 http ftp
URLConnection 的子类,提供一些特定于 HTTP 协议的附加功能。

建议的用法是使用 指定资源,然后在访问资源时将其转换为 。从该 URL 可以获取 以进行良好控制,也可以直接获取InputStream

下面是一个示例:

URI uri = new URI("http://java.sun.com/");

URL url = uri.toURL();
InputStream in = url.openStream();

协议处理程序

如上所述,URL URLConnection 都依赖于协议处理程序,所以协议处理程序必须存在;否则将抛出异常。此为与 URI 的主要不同点,URI 仅标识资源,所以不必访问协议处理程序。因此,尽管可能利用任何种类的协议方案(例如,myproto://myhost.mydomain/resource/)创建 URI,但类似的 URL 仍将试图实例化指定协议的处理程序;如果指定协议的处理程序不存在,则抛出异常。

默认情况下,协议处理程序从默认位置动态加载。但是,通过设置 java.protocol.handler.pkgs 系统属性也可能增加搜索路径。例如,如果将其设置为 myapp.protocols,则 URL 代码将首先尝试(对于 http 而言)加载 myapp.protocols.http.Handler,然后,如果失败,则尝试从默认位置加载 http.Handler

注意,处理程序类必须为抽象类 的子类。

 

转载于:https://www.cnblogs.com/wwj9413/archive/2012/05/06/2781239.html

你可能感兴趣的文章
lintcode83- Single Number II- midium
查看>>
移动端 响应式、自适应、适配 实现方法分析(和其他基础知识拓展)
查看>>
selenium-窗口切换
查看>>
使用vue的v-model自定义 checkbox组件
查看>>
[工具] Sublime Text 使用指南
查看>>
Hangfire在ASP.NET CORE中的简单实现方法
查看>>
Algorithm——何为算法?
查看>>
Web服务器的原理
查看>>
小强升职计读书笔记
查看>>
常用的107条Javascript
查看>>
#10015 灯泡(无向图连通性+二分)
查看>>
忘记root密码,怎么办
查看>>
linux设备驱动归纳总结(三):1.字符型设备之设备申请【转】
查看>>
《黑客与画家》 读书笔记
查看>>
bzoj4407: 于神之怒加强版
查看>>
mysql统计一张表中条目个数的方法
查看>>
ArcGIS多面体(multipatch)解析——引
查看>>
css3渐变画斜线 demo
查看>>
JS性能DOM优化
查看>>
设计模式 单例模式 使用模板及智能指针
查看>>