JSP vs Servlets
Ένα Servlet είναι ένα στοιχείο λογισμικού από την πλευρά του διακομιστή γραμμένο σε Java και εκτελείται σε ένα συμβατό περιβάλλον κοντέινερ γνωστό ως κοντέινερ Servelt (όπως το Apache Tomcat). Οι Servlets χρησιμοποιούνται κυρίως για την υλοποίηση διαδικτυακών εφαρμογών που δημιουργούν δυναμικές ιστοσελίδες. Μπορούν ωστόσο να δημιουργήσουν οποιονδήποτε άλλο τύπο περιεχομένου όπως XML, κείμενο, εικόνες, αποσπάσματα ήχου, PDF, αρχεία Excel μέσω προγραμματισμού.
Ένα Servlet που έχει γραφτεί για τη δημιουργία κάποιου HTML μπορεί να μοιάζει με αυτό:
δημόσια κλάση MyServlet επεκτείνει το HttpServlet {
protected void doGet(Αίτημα HttpServletRequest, HttpServletResponse απάντηση) ρίχνει ServletException, IOException {
PrintWriter w=answer.getWriter();
w.write("");
w.write("");
Ημερομηνία d=νέα Ημερομηνία();
w.write(d.toString());
w.write("");
w.write("");
}
}
Ο παραπάνω κώδικας περιέχει ένα μείγμα πηγαίου κώδικα HTML και Java. Αυτό δεν είναι πολύ ευανάγνωστο και διατηρήσιμο. Το JSP που σημαίνει JavaServer Pages παρέχει μια καλύτερη εναλλακτική. Για παράδειγμα, το ακόλουθο είναι ένα τμήμα του κώδικα JSP που έχει ως αποτέλεσμα την ίδια έξοδο:
Οι συντάκτες ιστοσελίδων βρίσκουν το JSP πιο εύκολο να γράψουν και να διατηρήσουν. Ωστόσο, τα αρχεία JSP μεταφράζονται σε Servlets από ένα κοντέινερ Servlet τη στιγμή που γίνεται η πρώτη πρόσβαση στα αρχεία JSP. Ωστόσο, οι συγγραφείς επιχειρησιακής λογικής θεωρούν ότι τα Servlets είναι πιο εύκολο να δουλέψουν.
Ένα αίτημα που λαμβάνεται από μια εφαρμογή Ιστού θα πρέπει να ενεργοποιήσει την εκτέλεση κάποιας επιχειρηματικής λογικής και στη συνέχεια να δημιουργήσει μια προκύπτουσα ιστοσελίδα ως απάντηση. Στις σύγχρονες διαδικτυακές εφαρμογές, ο έλεγχος του συνολικού κύκλου επεξεργασίας αιτημάτων γίνεται κυρίως από Servlets. Ως τελευταίο στάδιο στην επεξεργασία ενός αιτήματος, ένας τέτοιος Servlet γενικά παραδίδει την ευθύνη της δημιουργίας του δυναμικού HTML σε ένα JSP.