Διαφορά μεταξύ των δοκών και των δοκών2

Anonim

Struts vs Struts2

Struts (επίσης γνωστό ως Apache Struts ή Struts 1) πηγαίου κώδικα γραμμένο σε Java, το οποίο προορίζεται για την ανάπτυξη εφαρμογών Java EE. Ήταν ένα από τα αρχικά πλαίσια εφαρμογών Java EE. Λίγα χρόνια αργότερα, ο Struts2 (ή η έκδοση 2 της Struts) έφτασε και ήταν ένα εντελώς διαφορετικό και εξαιρετικά βελτιωμένο πλαίσιο εφαρμογών ιστού. Είχε αντιμετωπίσει λίγα ζητήματα που θεωρήθηκαν ως ανεπάρκειες στην αρχική έκδοση. Τώρα, ο Struts2 χρησιμοποιείται πολύ για την ανάπτυξη εφαρμογών Java EE στον κόσμο.

Τι είναι το Struts;

Το πλαίσιο Struts (Struts 1) ήταν ένα από τα αρχικά πλαίσια εφαρμογών ιστού για την ανάπτυξη δικτυακών εφαρμογών Java EE. Το πλαίσιο Struts ενθαρρύνει τη χρήση της αρχιτεκτονικής MVC (Model-View-Controller). Πρόκειται για μια επέκταση του Java Servlet API. Ο Craig McClanahan είναι ο αρχικός δημιουργός των Struts. Αρχικά ήταν γνωστή ως Jakaratha Struts και διατηρήθηκε στο πλαίσιο της Τζακάρτα του Apache Software Foundation. Απελευθερώνεται κάτω από την Άδεια Apache 2. 0. Το πλαίσιο Struts ονομάζεται πλαίσιο βασισμένο σε αίτημα και αποτελείται από τρία βασικά στοιχεία: έναν χειριστή αιτήματος, έναν χειριστή απόκρισης και μια βιβλιοθήκη ετικετών. Το πρότυπο URI (Uniform Resource Identifier) ​​αντιστοιχίζεται σε ένα χειριστή αιτήματος. Ο χειριστής απόκρισης είναι υπεύθυνος για τη μεταφορά του ελέγχου. Για να δημιουργήσετε διαδραστικές εφαρμογές με φόρμες, οι δυνατότητες που προσφέρονται από τη βιβλιοθήκη ετικετών μπορούν να χρησιμοποιηθούν. Οι δοκοί υποστηρίζουν εφαρμογές REST και διάφορες τεχνολογίες όπως SOAP, AJAX, κτλ.

Τι είναι το Struts2;

Το πλαίσιο Struts θεωρήθηκε ότι περιείχε ορισμένους περιορισμούς (κυρίως την έλλειψη διαχωρισμού μεταξύ του στρώματος παρουσίασης, του επιπέδου διαχείρισης αιτήματος και του μοντέλου) από τους προγραμματιστές της Java EE εκείνη την εποχή και, κατά συνέπεια, λίγα χρόνια αργότερα έφτασε η Struts2. Στην πραγματικότητα, ο Struts2 ήταν εντελώς διαφορετικός από τον Struts. Στην πραγματικότητα, δεν μοιράζονταν καν την ίδια βάση κώδικα επειδή ο Struts2 ήταν απλώς το αποτέλεσμα της μετονομασίας του πλαισίου WebWork 2. 2 (δηλαδή οι κοινότητες WebWork και Struts που εργάστηκαν ξεχωριστά για κάποιο χρονικό διάστημα τελικά ένωσαν τα χέρια τους για να βρουν Struts2). Η σημερινή σταθερή έκδοση είναι η έκδοση 2. 2. 3, η οποία κυκλοφόρησε τον Μάιο του 2011.

Ποια είναι η διαφορά μεταξύ Struts και Struts2;

Ένα από τα πολλά προβλήματα του πλαισίου Struts ήταν η ανάγκη προγραμματισμού σε αφηρημένα μαθήματα αντί για διεπαφές. Αυτό επιλύθηκε από το πλαίσιο του Struts2. Για παράδειγμα, το πλαίσιο Struts απαιτούσε να επεκταθούν οι κλάσεις δράσης από τις αφηρημένες κλάσεις βάσης, αλλά οι Δράσεις Struts2 μπορούν να εφαρμόσουν μια διεπαφή δράσης. Λόγω των διαφορών στο μοντέλο σπειρώματος μεταξύ των δύο εκδόσεων, τα ζητήματα ασφάλειας νήματος που προέκυψαν στο πλαίσιο Struts σχετικά με τα αντικείμενα Action δεν εμφανίζονται στο πλαίσιο του Struts2.Ο λόγος είναι ότι τα αντικείμενα Action Struts2 δημιουργούνται για κάθε αίτηση, ενώ ένα πλαίσιο Action in Struts έχει μόνο μία παράμετρο για να χειριστεί όλα τα αιτήματα για αυτή τη Δράση. Σε αντίθεση με το πλαίσιο Actions in Struts, οι Δράσεις Struts2 δεν εξαρτώνται από το Servlet API.

Η ευστάθεια του πλαισίου Struts2 είναι συγκριτικά υψηλότερη από το πλαίσιο Struts. Μπορείτε να δοκιμάσετε τις Δράσεις Struts2 ακολουθώντας απλά τα τρία βήματα: δημιουργία παραμέτρων, ρύθμιση ιδιοτήτων και επίκληση μεθόδων. Η είσοδος συλλογής είναι ευκολότερη στο πλαίσιο του Struts2, καθώς οι ιδιότητες δράσης χρησιμοποιούνται ως ιδιότητες εισόδου, χωρίς να χρειάζεται να διατηρείται ένα δεύτερο αντικείμενο εισόδου. Εκτός από την υποστήριξη για την ενσωμάτωση JSTL (η οποία είναι παρούσα στην Struts), το πλαίσιο Struts2 μπορεί να χρησιμοποιήσει ισχυρότερη και εκφραστική γλώσσα OGNL (Object Graph Notation Language). Για τη μετατροπή τύπου, το Strut και το Strut2 χρησιμοποιούν Commons-Beanutils και OGNL, αντίστοιχα. Λόγω αυτών των βελτιώσεων, το πλαίσιο Struts2 θεωρείται ένα εξαιρετικά ώριμο πλαίσιο και είναι πολύ δημοφιλές μεταξύ των προγραμματιστών Java EE. Από την άλλη πλευρά, το πλαίσιο του Struts θεωρείται πλέον απαρχαιωμένο.