L'URL Uniform Resource Locator (Uniform Resource Locator) est le nom et l'adresse utilisés par les clients www pour identifier les ressources lors de l'accès à Internet. Les liens hypertextes sont maintenus par des URL de localisation de ressources uniformes. Le format de l'URL est :
<MÉTHODE>://<NOM D'HÔTE:PORT>/<CHEMIN>/<FICHIER>
Parmi eux : La méthode est le protocole de transmission : HOSTNAME est le nom de l'hôte Internet où se trouvent le document et le serveur (l'adresse du point dans DNS dans le système de noms de domaine) est le numéro de port de service (peut être omis) ; le nom du chemin et FILE est le nom du fichier. Par exemple:
http://www.weixueyuan.net/(http est le nom du protocole, www.weixueyuan.net est le nom d'hôte)
http://www.weixueyuan.net/view/6079.html (www.weixueyuan.net est le nom d'hôte, view/6079.html est le chemin et le nom du fichier)
Classe d'URL
Le package Java.net possède une classe URL, un objet URL peut représenter une ressource réseau. Les programmes peuvent utiliser des objets URL pour implémenter l'adressage Internet, la localisation des connexions des ressources réseau, l'accès direct entre les clients et les serveurs, etc. La méthode constructeur de la classe URL est
URL (Chaînes)
Parmi eux, s pointe vers une ressource du réseau.
La méthode pour utiliser des objets URL pour accéder aux ressources en ligne consiste à créer d’abord un objet URL, comme indiqué dans le code suivant :
URL monURL ; essayez { monURL = new URL("http://www.weixueyuan.net:80/");}catch(MalformedURLException e){ System.out.println("Mauvaise URL :"+url+e ); }
MalformedURLException peut se produire en raison de la création d’un objet URL. Par conséquent, le code qui crée l'objet URL doit apparaître dans le bloc d'instruction try...catch afin que les exceptions d'erreur d'URL puissent être interceptées.
Classe URLConnection
Pour recevoir et envoyer des informations, la classe URLConnection doit être utilisée. Le programme obtient un objet URLConnection, ce qui équivaut à établir une connexion HTTP à l'URL spécifiée. Voici le code pour obtenir l'objet URLConnection.
URL mu = new URL("http://www.sun.com/");//Créez d'abord un objet URL URLConnection muC = mu.openConnection();//Obtenez l'objet URLConnection
Le code ci-dessus montre que vous devez d'abord créer un objet URL, puis utiliser la méthode openConnection() de l'objet URL pour obtenir un objet URLConnection du système. Une fois que le programme dispose d'un objet URLConnection, il peut utiliser les méthodes suivantes fournies par la classe URLConnection pour obtenir l'objet stream et implémenter une connexion réseau :
getOutputStream() : obtenez l'objet de flux OutputStream qui envoie des informations à l'hôte distant ;
getInputStream() : obtient l'objet de flux InputStream qui obtient des informations de l'hôte distant. Avec les flux d’entrée et de sortie connectés au réseau, les programmes peuvent communiquer à distance ;
connect() : configurez la connexion réseau.
Envoi et réception d'informations
Pour envoyer et recevoir des informations, un objet flux est obtenu, et un objet flux de données d'entrée ou de sortie est créé à partir de l'objet flux. Ensuite, vous pouvez utiliser la méthode de streaming pour accéder aux ressources en ligne.
Voir la méthode readByURL() dans l'exemple de programme ci-dessous. Cette méthode illustre le processus de lecture de contenu Web à partir d'une URL connue. La méthode utilise les paramètres d'URL pour créer une URL d'objet URL, puis utilise la méthode openConnect() de l'URL d'objet pour obtenir l'objet URLConnection tc, utilise la méthode connect() de l'objet tc pour établir une connexion réseau, puis obtient l'objet de classe InputStreamReader dans la connexion réseau et place l'objet dans, converti en objet BufferedRead dis, modifié en entrée tamponnée. Enfin, utilisez la méthode readLine() de l'objet dis pour terminer la lecture des données texte du réseau.
Tout comme le flux de données local, le flux de données doit être fermé à temps une fois l'utilisation des ressources en ligne terminée. Par exemple, le code
divulguer();
Fermez le flux créé par le code précédent.
[Exemple] Une application qui lit du contenu Web à l'aide d'une méthode de flux de données. Lorsque le programme s'exécute, l'URL est lue dans la zone de texte.
importer java.net.*;importer java.awt.*;importer java.awt.event.*;importer java.io.*;importer java.javax.swing.*;classe publique Exemple10_2{ public static void main(String args []){ new downNetFile(); }}class DownNetFile étend JFrame implémente ActionListener{ JTextFileld infield = new JTextField(30); JTextarea showArea = new JTextArea(); this.getContentPane(); p.add(infield);p.add(b); JScrollPane jsp = nouveau JScrollPane(showArea); b.addActionListener(this); con.add(p,"North");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);//Créer un objet URL à partir de l'URL URLConnection tc = url.openConnectin();//Get l'objet URLConnection tc.connect();//Définissez la connexion réseau InptStreamReader in = new InputStreamReader(tc.getInputStream()); BufferedReader dis = new BufferedReader(in);//Utiliser la chaîne d'entrée tamponnée inline; while((inline = dis.readLine())!=null){ showArea.append(inline +"/n"); );//Une fois l'utilisation des ressources en ligne terminée, le flux de données est fermé dans le temps}catch(MalformedURLException e){ e.printStackTrace( } catch(IOException); e){e.printStacktrace();} /*L'accès aux ressources en ligne peut générer MalformedURLException et IOException*/ }}