<< 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.
I will explain the programs named Java4640a and Java4640d in fragments. Complete listings of both programs are provided in Listing 8 and Listing 9 .
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
Notification Switch
Would you like to follow the 'Object-oriented programming (oop) with java' conversation and receive update notifications?