Die Uniform Resource Locator-URL (Uniform Resource Locator) ist der Name und die Adresse, die von WWW-Clients verwendet werden, um Ressourcen beim Zugriff auf das Internet zu identifizieren. Hypertext-Links werden durch einheitliche Ressourcen-Locator-URLs verwaltet. Das Format der URL ist:
<METHODE>://<HOSTNAME:PORT>/<PFAD>/<DATEI>
Darunter: Methode ist das Übertragungsprotokoll: HOSTNAME ist der Internet-Hostname, auf dem sich das Dokument und der Server befinden (die Punktadresse im DNS im Domänennamensystem); Pfadname und FILE ist der Dateiname. Zum Beispiel:
http://www.weixueyuan.net/(http ist der Protokollname, www.weixueyuan.net ist der Hostname)
http://www.weixueyuan.net/view/6079.html (www.weixueyuan.net ist der Hostname, view/6079.html ist der Dateipfad und Dateiname)
URL-Klasse
Das Java.net-Paket verfügt über eine URL-Klasse. Ein URL-Objekt kann eine Netzwerkressource darstellen. Programme können URL-Objekte verwenden, um Internetadressierung, Standortverbindungen von Netzwerkressourcen, direkten Zugriff zwischen Clients und Servern usw. zu implementieren. Die Konstruktormethode der URL-Klasse ist
URL(String s)
Darunter verweist s auf eine Ressource im Netzwerk.
Die Methode zur Verwendung von URL-Objekten für den Zugriff auf Online-Ressourcen besteht darin, zunächst ein URL-Objekt zu erstellen, wie im folgenden Code gezeigt:
URL myURL; try { myURL = new URL("http://www.weixueyuan.net:80/");}catch(MalformedURLException e){ System.out.println("Wrong URL:"+url+e ); }
Aufgrund der Erstellung eines URL-Objekts kann eine MalformedURLException auftreten. Daher sollte der Code, der das URL-Objekt erstellt, im try...catch-Anweisungsblock erscheinen, damit URL-Fehlerausnahmen abgefangen werden können.
URLConnection-Klasse
Um Informationen zu empfangen und zu senden, muss die URLConnection-Klasse verwendet werden. Das Programm erhält ein URLConnection-Objekt, was dem Herstellen einer HTTP-Verbindung zur angegebenen URL entspricht. Im Folgenden finden Sie den Code zum Abrufen des URLConnection-Objekts.
URL mu = new URL("http://www.sun.com/");//Erstellen Sie zuerst ein URL-Objekt URLConnection muC = mu.openConnection();//Holen Sie sich das URLConnection-Objekt
Der obige Code zeigt, dass Sie zuerst ein URL-Objekt erstellen und dann die openConnection()-Methode des URL-Objekts verwenden müssen, um ein URLConnection-Objekt vom System abzurufen. Sobald das Programm über ein URLConnection-Objekt verfügt, kann es die folgenden von der URLConnection-Klasse bereitgestellten Methoden verwenden, um das Stream-Objekt abzurufen und eine Netzwerkverbindung zu implementieren:
getOutputStream(): Rufen Sie das OutputStream-Stream-Objekt ab, das Informationen an den Remote-Host sendet.
getInputStream(): Ruft das InputStream-Stream-Objekt ab, das Informationen vom Remote-Host erhält. Wenn Eingabe- und Ausgabeströme mit dem Netzwerk verbunden sind, können Programme aus der Ferne kommunizieren.
connect(): Richten Sie die Netzwerkverbindung ein.
Senden und Empfangen von Informationen
Zum Senden und Empfangen von Informationen wird ein Stream-Objekt abgerufen und aus dem Stream-Objekt ein Eingabe- oder Ausgabedaten-Stream-Objekt erstellt. Anschließend können Sie die Streaming-Methode verwenden, um auf Online-Ressourcen zuzugreifen.
Siehe die Methode readByURL() im Beispielprogramm unten. Diese Methode veranschaulicht den Prozess des Lesens von Webinhalten von einer bekannten URL. Die Methode verwendet die URL-Parameter, um eine URL-Objekt-URL zu erstellen, verwendet dann die openConnect()-Methode der Objekt-URL, um das URLConnection-Objekt tc abzurufen, verwendet die connect()-Methode des Objekt-tc, um eine Netzwerkverbindung herzustellen, und ruft sie dann ab Das InputStreamReader-Klassenobjekt befindet sich in der Netzwerkverbindung und fügt das Objekt ein, konvertiert es in ein BufferedRead-Objekt und ändert es in eine gepufferte Eingabe. Verwenden Sie abschließend die readLine()-Methode des Objekts dis, um das Lesen der Netzwerktextdaten abzuschließen.
Genau wie der lokale Datenfluss sollte der Datenfluss rechtzeitig nach Abschluss der Nutzung von Online-Ressourcen geschlossen werden. Zum Beispiel der Code
dis.close();
Schließen Sie den vom vorherigen Code erstellten Stream.
[Beispiel] Eine Anwendung, die Webinhalte mithilfe einer Datenstrommethode liest. Wenn das Programm ausgeführt wird, wird die URL aus dem Textfeld gelesen.
import java.net.*;import java.awt.*;import java.awt.event.*;import java.io.*;import java.javax.swing.*;public class Beispiel10_2{ public static void main(String args []){ new downNetFile(); }}class DownNetFile erweitert JFrame implementiert ActionListener{ JTextFileld infield = new JTextField(30); JTextarea = new JTextArea(); JButton b = new JButton("download"); DownNetFile(){ super("read network text file application"); this.getContentPane(); p.add(infield);p.add(b); JScrollPane jsp = new JScrollPane(showArea); b.addActionListener(this); con.add(jsp,"Center"); setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); ; } public void actionPerformed(ActionEvent e){ readByURL(infield.getText()); } public void readByURL(String urlName){ try{ URL url = new URL(urlName);//Erstelle ein URL-Objekt aus der URL URLConnection tc = url.openConnectin();//Get das URLConnection-Objekt tc.connect();//Setzen Sie die Netzwerkverbindung InptStreamReader in = new InputStreamReader(tc.getInputStream()); BufferedReader dis = new BufferedReader(in);//Use buffered input String inline; while((inline = dis.readLine())!=null){ showArea.append(inline +“/n“); );//Nachdem die Nutzung der Online-Ressourcen abgeschlossen ist, wird der Datenstrom rechtzeitig geschlossen}catch(MalformedURLException e){ e.printStackTrace(); e){e.printStacktrace();} /*Der Zugriff auf Online-Ressourcen kann zu MalformedURLException und IOException führen*/ }}