Άσκηση 7.3
Αναζήτηση σε
κατάλογο
προιόντων ενός
ιστοτόπου
λιανικής
Θέση Αρχείων =
/ExerciseCode/C7/SevenThree/
Σε
αυτήν την
άσκηση θα
γράψουμε τον
κώδικα που
υλοποιεί ένα
ερωτήματα για
την ανάκτηση
δεδομένων από
μια σχεσιακή
βάση
δεδομένων. Η
βάση φαίνεται
παρακάτω.
Key |
Item Description |
Category |
No in stock |
Price in pence |
Sh1 |
Blue Shirt |
Shirt |
2 |
2000 |
Sock4 |
Green Socks |
Socks |
200 |
950 |
Sh3 |
White Shirt |
Shirt |
3 |
2500 |
Sock1 |
White Socks |
Socks |
66 |
805 |
Sh7 |
Red Shirt |
Shirt |
2 |
4500 |
Jack2 |
Blue Jacket |
Jacket |
4 |
80000 |
Jack4 |
Green Jacket |
Jacket |
7 |
90000 |
Trou5 |
Black Trousers |
Trousers |
3 |
45000 |
Trou8 |
Green Trousers |
Trousers |
44 |
55000 |
Sh17 |
Checked Shirt |
Shirt |
20 |
30000 |
Πριν
αρχίσετε την
άσκηση πρέπει
να δηλώσετε
την βάση
δεδομένων
στα Windows.
Κάντε τα
παρακάτω
βήματα:
- Πατήστε Start|Settings|Control
Panel
- Δείτε
την εικόνα
που
καθορίζει
σύνδεση ODBC μέσα
στο control panel.
Προκειται
για ένα απλό
σύστημα
ονομασίας
που
επιτρέπει τα
προγράμματα Java
να
επικοινωνούν
με μια βάση
δεδομένων της
Microsoft. Κάντε διπλό
κλικ στην
εικόνα.
- Πατήστε το κουμπί addστο
παράθυρο που
εμφανίζεται.
- Στο
επόμενο
παράθυρο
πατήστε δύο
φορές τη γραμμή
που αρχίζει
με Microsoft Access Driver....
Ένα νέο
παράθυρο
πρέπει να
εμφανιστεί.
- Στο
νέο παράθυρο
εισάγεται
το
string "Catalogue" στο πεδίο
Data Source Name. Κατόπιν πατήστε
το κουμπί Select.
- Πάτε
στον φάκελο
που περιει
την
βάση
δεδομένων. Θα
την βρείτε
στον φάκελο
ExerciseCode/C7/SevenThree/.
Θα
καταλάβετε
ότι έχετε
φτάσει το
όνομα του
καταλόγου
όταν αυτό (ProductCatalogue.mdb)
εμφανιστεί
στην πιο
αριστερή
περιοχή
κειμένου.
Επιλέξτε τον
φάκελο και
πατήστε OK.
- Κλείστε
όλα τα
παράθυρα που
ανοίξατε
πατώντας OK σε
όλα
- Τώρα η
ΒΔ μπορεί να
αναφερθεί με
το όνομα Catalogue μέσα στο πρόγραμμα Java.
Πριν
ξεκινήσετε
την άσκηση
πρέπει να
καταχωρήσετε
το servlet
στονδιακομιστή
που θα
χρησιμοποιήσετε.
Υπάρχουν
μερικά αρχεία
που
σχετίζονται
με την άσκηση:
- Η
κλάση Product είναι
ένα
αντικείμενο
που
αντιστοιχεί
στις γραμμές
τη σχεσιακής
βάσης
δεδομένων
που
υλοποιεί
τον
κατάλογο
προϊόντων.
Πρόκειται για
μια απλή κλάση
που
υλοποιεί
τις
μεθόδους get
και set.
- Η
κλάση ProductCollection
υλοποιεί
μια συλλογή
προϊόντων μέσα
από δύο
μεθόδους
που
χρησιμοποιούνται
για την
ανάκτηση όλων
των προϊόντων με
πάνω από μια
συγκεκριμένη
τιμή και όλων
των προϊόντων
της
κατηγορίας Jacket.
- Η
κλάση CommServletSolution
περιέχει τη
λύση. Είναι το
servlet που
υλοποιεί την
επεξεργασία
των
ερωτημάτων στη
βάση
δεδομένων.
- Η κλάση CommServlet είναι αυτή
που θα τροποποιήσετε.
- Το
αρχείο CommServlet.shtml
περιέχει τον
κώδικα HTML για
μια φόρμα που
χρησιμεύει
στην
επικοινωνία
με την
σχεσιακή βάση
δεδομένων.
Αποτελείται
από ένα μενού
που
επιτρέπει
την επιλογή
μεταξύ των
ερωτημάτων
και ένα πεδίο
που μπορείτε
να γράψετε
τα συστατικά
του
ερωτήματος.
Ακολουθήστε
τα παρακάτω βήματα
- Εξετάστε την κλάση Product.
- Εξετάστε
την κλάση
ProductCollection. Προσέξτε
τον τρόπο που
η κλάση
εκτελεί
του 2 τύπους
των ερωτημάτων
και πως
τοποθετεί τα
αποτελέσματα
σε ένα
αντικείμενο
Vector.
- Εξετάστε
το CommServlet.shtml.
Προσέξτε πως
έχει
δημιουργηθεί
η φόρμα.
- Εξετάστε
την κλάση
CommServlet και δείτε
τον κώδικα
για το πρώτο
ερώτημα. Ο
κώδικας
που θα
φταξετε
πρέπει να έχει
την ίδια δομή.
- Ξεκινήστε
τον
διακομιστή.
- Εκτελέστε
το servlet
ανοίγοντας
το CommServlet.shtml με τον
περιηγητή
σας. Η φόρμα
πρέπει να
φανεί. Αυτό το
βήμα θα
εκτελέσει
τον κώδικα
μέσα στο
CommServletSolution.
- Δοκιμάστε
μερικά
ερωτήματα.
- Αλλάξτε
τον κώδικα
στο
CommServlet ώστε το να
υλοποιήσετε
το ερώτημα
που ανακτά
προιόντα μιας
συγκεκριμένης
κατηγορίας.
- Αλλάξτε
τον κώδικα
μέσα στο
CommServlet.shtml
αντικαθιστώντας
το κείμενο action
="/servlet/servletcommercial.CommServletSolution" method="post"
με το
κείμενο
action="/servlet/servletcommercial.CommServlet" method="post". Προσοχή
μη σβήσετε
τις γωνιακές
παρενθέσεις.
- Εκτελέστε
το servlet
ανοίγοντας
το CommServlet.shtml με τον
διακομιστή
σας.
- Δοκιμάστε
μερικά queries.