官术网_书友最值得收藏!

URL (base URL and relative URL)

Every constructor looks for the base URL, and if its value is null, then it considers the relative URL as the absolute URL. Also, you can use a relative URL for creating URL objects for named anchors. There are other URL constructors available in which you can pass all the four preceding components given separately. If a URL contains any special character, then such URLs can get encoded first so that the address gets validated as the legal address; then, they are passed to the URL constructor (for example, the space character is encoded as %20).

While constructing a URL object, if the URL string passed to the constructor is null or is an unknown protocol, then it throws MalformedURLException. Therefore, one should handle this kind of exception without fail while building the URL.

The URL object helps the user to either connect, access, or download any of the URL-related pages containing information from that respective web server. To do so, the URL object has methods such as openStream(), getContent(), and openConnection(). The openStream() method returns a java.io.InputStream that is capable of reading the data contents directly. When openConnection() is called on a URL object, it provides URLConnection in return. URLConnection can be used to query the header information of the data to get the length of the data object, the data type it contains, the encoding of data, and so on.

The getContent() method downloads the data object and returns the data-containing object. This method has a content handler that can convert data into a Java object. When we invoke the getContent() method of the URLConnection or URL object, it queries ContentHandlerFactory for ContentHandler to request the information from the requestor. The responsibility of ContentHandlerFactory is to validate MIMEType along with the encoding of DataObject to supply the ContentHandler belonging to that MIMEType.

The returned ContentHandler is then used to get an object that represents the data by invoking its getContent() method with URLConnection. ContentHandler reads raw data provided through InputStream of URLConnection, then it formats it to the required object representations and returns the object to the caller.

主站蜘蛛池模板: 夹江县| 涡阳县| 永嘉县| 宜州市| 博白县| 横峰县| 姜堰市| 丽水市| 镇宁| 新河县| 临海市| 邯郸市| 沧源| 普定县| 靖西县| 大名县| 滨州市| 沙坪坝区| 泰来县| 且末县| 罗田县| 焉耆| 抚宁县| 潍坊市| 浑源县| 东平县| 天津市| 兰考县| 乡城县| 怀安县| 商都县| 沈阳市| 南岸区| 茂名市| 阆中市| 福贡县| 龙胜| 行唐县| 广饶县| 婺源县| 邳州市|