Άσκηση 15.1
Εκτέλεση
μιας απλής
αράχνης
Θέση αρχείων = /ExerciseCode/C15/FifteenOne/
Σe αυτή την
άσκηση θα
εκτελέσετε
μιαν απλή αράχνη.
Αυτή
εξετάζει
ορισμένους
ιστοτόπους,
των οποίων οι
λεπτομέρειες
αποθηκεύονται
σε ένα
αρχείο
κειμένου και
ελέγχει για
το αν έχουν
μεταβληθεί
από την
τελευταία
επίσκεψη. Η
άσκηση
περιέχει τα
ακόλουθα
αρχεία:
- LinkInformation,
είναι η κλάση
που
καθορίζει
αντικείμενα
που
αναπαριστούν
πληροφορίες
συνδέσμων.
Ένας
σύνδεσμος
καθορίζεται
με βάση το URL, μια
σύντομη
περιγραφή και
την
τελευταία
αλλαγή του.
- SpiderFrame είναι
μια κλάση που
περιέχει
παράθυρο, η
οποία
εκτελεί την
αράχνη και
παρουσιάζει
πληροφορίες,
όπως τους
ιστοχώρους
που έχουν
αλλάξει.
Περιέχει δύο
πεδία
κειμένου, ένα
που
παρουσιάζει
μηνύματα και ένα
που
παρουσιάζει
τους
συνδέσμους
που άλλαξαν.
Το παράθυρο
περιέχει δύο
κουμπιά, ένα
που ξεκινά των
έλεγχο των
συνδέσμων κα
ένα άλλο που
τερματίζει
την εφαρμογή.
- SpiderLauncher
απλώς ξεκινά
την εκτέλεση
του κώδικα
της άσκησης.
- links.txt είναι το
αρχείο που
περιέχει τις
λεπτομέρειες
κάθε URL, την
περιγραφή
του και πότε
άλλαξε ο
ιστοτόπος
που
περιγράφεται
από το
σύνδεσμο. Η
αράχνη
διαβάζει το
αρχείο,
επισκέπτεται
τον ιστοτόπο,
ελέγχει για
τυχόν αλλαγή
και
ενημερώνει το
χρήστη. Όταν η
εφαρμογή
τερματίζει
το αρχείο
ανανεώνεται
με
οποιαδήποτε
καινούργια
πληροφορία.
Το αρχείο
έχει κάποια
αρχικά URLs.
Εκτελέστε
τα παρακάτω
βήματα:
- Διαβάστε
τον κώδικα
για όλες τις
κλάσεις.
Προσέξτε πως
το
αντικείμενο
URLConnection
δημιουργείται
και πως
λαμβάνεται η
ώρα
τελευταίας
ανανέωσης.
- Εκτελέστε
τον κώδικα
του SpiderLauncher.
Βεβαιωθείτε
ότι έχετε
κάποια ενεργή
σύνδεση στο
διαδίκτυο.
Πατήστε τι
κουμπί Check
Links.
Η αράχνη θα
επισκεφθεί
τους
ιστοχώρους
που
αναφέρονται
στο links.txt
και ελέγξτε
αν έχουν
ανανεωθεί
- Σταματήστε
την εφαρμογή
πατώντας το
κουμπί Quit .
Το παραπάνω
παράδειγμα
δεν
δουλεύει
για σελίδες
που
δημιουργήθηκαν
με κάποια
τεχνολογία
δυναμικών
σελίδων όπως Java
Server
Pages ή Active Server Pages. Σ΄αυτή
την περίπτωση
θα
επιστρεφόταν
μηδέν
αντί για την
ημερομηνία
τελευταίας
αλλαγής.