'οι μάζες ουδέποτε εδίψασαν για αλήθεια. Αποστρέφονται τα πασιφανή γεγονότα που τις δυσαρεστούν και προτιμούν να θεοποιούν την πλάνη αν αυτή τις γοητεύει. Εκείνος ο οποίος γνωρίζει να προκαλεί αυταπάτες γίνεται εύκολα ο κύριος των μαζών, ενώ εκείνος που προσπαθεί να τις λυτρώσει από αυταπάτες είναι πάντοτε το θύμα τους... Ο μέγας παράγοντας της εξέλιξης των λαών ουδέποτε ήταν η αλήθεια αλλά η πλάνη ... οι μάζες οδηγούνται από τους μύθους, οι οποίοι πρέπει να απολοποιούν τις θεωρίες... Τίποτα δεν είναι πιο δύσκολο, πιο αβέβαιο, πιο επικύνδυνο από το να πάρει κανείς την πρωτοβουλία της εισαγωγής νέων θεσμών και εθίμων. Γιατί ο μεταρρυθμιστής έχει εχθρούς όλους εκείνους που έχουν άμεσο και απόλυτο συμφέρον να διατηρούνται οι παλιοί θεσμοί και βρίσκει απρόθυμους φίλους εκείνουν που θα ωφεληθούν από τους νέους', Ε. Λεμπέσης, ΤΟ ΒΗΜΑ, 2024
στην εργαστηριακή άσκηση αυτή θα υλοποιήσετε τις προηγούμενες δύο εργαστηριακές ασκήσεις με την τεχνολογία java server pages
τι πρέπει να ξέρετε:
η τεχνολογία java server pages αποτελεί τμήμα της πλατφόρμας java η οποία περιλαμβάνει τεχνολογίες για (α) συσκευές περιορισμένων πόρων (β) σταθμούς εργασίας και επιφάνειας εργασίας (γ) εξυπηρετητών (διαδικτύου, μεσισμικού, βάσης δεδομένων)
η τεχνολογία java server pages είναι τεχνολογία που εφαρμόζει προγραμματισμό εξυπηρετητών (server programming) στο πεδίο της διαδικτυακής παρουσίασης (web tier). Η αρχιτεκτονική των εφαρμογών διαδικτύου περιλαμβάνει τα πεδία διαδικτύου (web), μεσισμικού (middleware) και βάσης δεδομένων
τα κύρια χαρακτηριστικά της java και συνεπώς της jsp είναι η αντικειμενοστραφής λογική και η ανεξαρτησία από τις υποκείμενες πλατφόρμες. Όπως μια desktop εφαρμογή γραμμένη σε java μπορεί να εκτελείται σε όλες τις πλατφόρμας, έτσι και τα προγράμματα και βιβλιοθήκες που χρησιμοποιούνται από την τεχνολογία jsp μπορούν να εκτελούνται σε όλες τις πλατφόρμες.
η ανεξαρτησία από τις υποκείμενες πλατφόρμες επιτυγχάνεται με τη χρήση υποκείμενου στρώματος διεπαφής με το υλικό, την ιδεατή μηχανή (virtual machine) που αποκρύπτει τις λεπτομέρειες του τελευταίου και εκθέτει κοινές προγραμματιστικές διεπαφές
για την μεταγλώττιση και την συμπίληση των προγραμμάτων, καθώς και για την λειτουργία των εξυπηρετητών που μπορούν να φιλοξενούν εφαρμογές γραμμένες σε java απαιτείται η εγκατάσταση του περιβάλλοντος εκτέλεσης της γλώσσας (java runtime environment)
τι θα χρειστείτε:
γενικές αναφορές σχετικά με τις αρχές και την τεχνολογία java, από τον ιστοχώρο της Oracle
τη βασική σύνταξη της jsp και σχετικές πληροφορίες FAQ
εκκίνηση του application server apache tomcat και χρήση του καταλόγου webapps αντί για το htdocs ή πρόσβαση στον κοινόχρηστο εξυπηρετητή μέσω του putty ssh client που βρίσκεται στο C:
εργαστηριακή άσκηση
(A) Υλοποιήστε τις εργαστηριακές ασκήσεις 2 και 3 σε JAVA!
(B) Υποθέστε ότι θέλετε να κατασκευάσετε μια διαδικτυακή διεπαφή για ένα πρόγραμμα υπολογισμού της απόστασης που καλύπτει ένα αντικείμενο σε ελεύθερη πτώση συναρτήσει του χρόνου και των αρχικών συνθηκών ταχύτητας και θέσης του. Κατασκευάστε ιστοσελίδα με όνομα gravity.jsp.
θα περιέχει φόρμα που με τα παρακάτω στοιχεία εισόδου: επιτάχυνση βαρύτητας σε m/s^2, χρόνος πτώσης σε sec, αρχική ταχύτητα σε m/s, αρχικό υψόμετρο αντικειμένου σε m
το γραφικό στοιχείο που θα κρατάει την τιμή της επιτάχυνσης της βαρύτητας δεν θα μπορεί να αλλάξει τιμή από τον χρήστη, θα είναι non-editable
Η υποβολή της σελίδας θα οδηγεί στην σελίδα calc.jsp η οποία θα χρησιμοποιεί τον τύπο x(t)= - 0.5 * g * t^2 + u0 * t + h, όπου:
x(t) είναι η συνάρτηση της απόστασης στο χρόνο
g είναι η επιτάχυνση της βαρύτητας
u0 είναιη αρχική ταχύτητα
h είναι το ύψος από όπου ξεκινά η πτώση
(Γ) Υλοποιήστε το (Β) χρησιμοποιώντας ξεχωριστό πρόγραμμα java για τον υπολογισμό, ο οποίος αντί να γίνεται στην σελίδα calc.jsp θα γίνεται από το πρόγραμμα Calc.java. H δομή του πρόγραμμάτος θα είναι η εξής:
package lab5;
public class Calc{
public static void main(String args[]){
//έλεγχος υπολογισμού
//εκτέλεση gravity(10, 9.81, 0, 0)
}
public float gravity(float t, float g, float u, float h){
//υπολογισμός τιμής
return ?;
}
}
γράψτε την υλοποίηση του παραπάνω υπολογισμού
συμπληρώστε τη μέθοδο main ώστε το πρόγραμμά σας να εκτελεί τον υπολογισμό gravity όταν τρέξει
μεταγλωττίστε με την εντολή javac Calc.java και εκτελέστε το με την εντολή java Calc. Επιβεβαιώστε ότι το πρόγραμμα εκτελείται σωστά
χρησιμοποιήστε την κλάση που μόλις γράψετε για τον υπολογισμό από την σελίδα gravity.jsp. Αντιγράψτε την εκτελέσιμη κλάση (.class αρχείο) στον κατάλογο WEB-INF/classes/lab5. Εισάγετε στην σελίδα σας τη δήλωση: