<< Chapter < Page Chapter >> Page >

A higher level approach

URL programming occurs at a higher level than socket programming, and in theory represents some very powerful ideas. The powerful ideas represented bythe advanced features of the URL class require an understanding of the development of protocol handlers and content handlers. I discussed this in somedetail in an earlier module titled Java4620: General Information , and won't repeat that discussion here.

A mundane alternative

In addition to supporting the advanced concepts discussed in the earlier module, theURL class also provides a relatively mundane alternative way to connect one computer to another and transfer data on a stream basis. This module isprimarily based on this capability.

Discussion and sample code

I will explain the programs named Java4640a and Java4640d in fragments. Complete listings of both programs are provided in Listing 8 and Listing 9 .

The program Java4640a

This program exercises four of the constructors and six of the methods of the URL class.

The program also illustrates the use of the URLEncoder class to convert a string containing spaces and other such characters into a UTF-8encoded string format.

Screen output from the program named Java4640a

The output from the program is shown in Figure 2 . I will refer to portions of this output while discussing the program.

Figure 2 - Screen output from the program named Java4640a.
Use simple string constructor for host URL http www.austincc.edu -1 nullhttp://www.austincc.edu Use simple string constructor for host plus filehttp www.austincc.edu -1 /baldwin null http://www.austincc.edu/baldwinUse strings for protocol, host, and file http www.austincc.edu -1 /baldwin nullhttp://www.austincc.edu/baldwin Use strings for protocol host, and fileand int for port http www.austincc.edu 80 /baldwin nullhttp://www.austincc.edu:80/baldwin Construct absolute URL from host URL and relative URLhttp www.austincc.edu -1 /baldwin/Index.html null http://www.austincc.edu/baldwin/Index.htmlNow use URLEncoder to create UTF-8 encoded String http://space .tilde~.plus+.comhttp%3A%2F%2Fspace+.tilde%7E.plus%2B.com

The method named display

The code in Listing 1 is a method named display that I wrote to illustrate some of the methods of the URLclass, and also to serve the practical needs of displaying information contained in a URL object.

Listing 1 - The method named display.
void display(URL url){//method to display parts of URL System.out.print(url.getProtocol() + " ");System.out.print(url.getHost() + " "); System.out.print(url.getPort() + " ");System.out.print(url.getFile() + " "); System.out.println(url.getRef());//Now display entire URL as a string.System.out.println(url.toString()); System.out.println();}//end display

This method receives a reference to a URL object as a parameter and displays its component parts separated by space characters. Then it uses the overridden toString method of the URL class to display the contents of theURL object as a single String object.

The parts of the URL

Get Jobilize Job Search Mobile App in your pocket Now!

Get it on Google Play Download on the App Store Now




Source:  OpenStax, Object-oriented programming (oop) with java. OpenStax CNX. Jun 29, 2016 Download for free at https://legacy.cnx.org/content/col11441/1.201
Google Play and the Google Play logo are trademarks of Google Inc.

Notification Switch

Would you like to follow the 'Object-oriented programming (oop) with java' conversation and receive update notifications?

Ask