Back Up Next

Razred URL

 
razreda URL in URLConnection nam pomagata pri delu z URL naslovi;
vsebujeta metode za hitro setstavljanje in dešifriranje URL naslovov ter nalaganje vsebine z nekega URL naslova;
import java.net.*;
import java.io.*; 
class test {
    public static void main(String argv[ ]) {
        String surl, line;
        URL url;
        InputStream is;
        BufferedReader br;

        br=new BufferedReader(new InputStreamReader(System.in));
        System.out.print("Vpisi URL: ");
        try {
            surl=br.readLine(); 
            url=new URL(surl);  // naredimo URL
            is=url.openStream(); // odpremo povezavo (dobimo InputStream)
            br=new BufferedReader(new InputStreamReader(is));
            System.out.println("Protocol: " + url.getProtocol());  // informacije o URL naslovu
            System.out.println("Host: " + url.getHost());
            System.out.println("Document: " + url.getFile());
            System.out.println("Contents:");

            line=br.readLine(); // beremo preko povezave do konca
            while (line!=null) {
                System.out.println(line);
                line=br.readLine();
            }
            br.close();
        } catch (Exception e) {
            System.err.println("Napaka " + e.getMessage());
        }
    }
}

Apleti in URL - getDocumentBase in getCodeBase

 
Apleti ne smejo odpirati povezav na poljubne računalnike, temveč le na strežnik iz katerega so naloženi;
na strežniku smejo dostopati le do dokumentov, ki so v direktoriju HTML datoteke, v kateri je aplet oz. v nekem poddirektoriju tega direktorija;
getDocumentBase vrne URL HTML datoteke, v kateri se aplet nahaja;
getCodeBase vrne URL direktorija, v katerem je .class datoteka appleta;

Primer: aplet izpiše codeBase in documentBase, ob pritisku na gumb, pa naloži datoteko test.txt v okno WWW brskalnika:


import java.awt.*;
import java.awt.event.*;
import java.applet.*;
import java.net.*;

public class DocumentBase extends Applet {
    
     public void init() {
       Button b1=new Button("Button 1");
       add(b1);
       b1.addActionListener(new listen());
     }
     
     public void paint(Graphics g) {
        g.drawString("documentBase: " + getDocumentBase(),10,50);
        g.drawString("codeBase: " + getCodeBase(),10,70);
     }
     
     class listen implements ActionListener {
          public void actionPerformed(ActionEvent e) {
                AppletContext ac=getAppletContext();
                try {
                        // showDocument razreda AppletContext naloži v trenutno WWW okno nek dokument podan kot URL
                        ac.showDocument(new URL(getDocumentBase(),"test.txt")); // showDocument
                }
                catch (Exception e1) {} 
          }
     }
        
} 

Back Up Next