Διαφορά μεταξύ Struts και Spring MVC

Anonim

Struts vs Spring MVC

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

Τι είναι το Struts;

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

Τι είναι το Spring MVC;

Η άνοιξη είναι ένα πλαίσιο εφαρμογής ανοιχτού κώδικα. Αναπτύχθηκε από τον Rod Johnson, και η πρώτη έκδοση κυκλοφόρησε το 2004. Η άνοιξη 3. 0. 5 είναι η τρέχουσα έκδοση του Spring framework. Έχει άδεια χρήσης υπό την άδεια Apache 2. 0. Οποιαδήποτε εφαρμογή Java μπορεί να χρησιμοποιήσει τις βασικές λειτουργίες του Spring framework. Υπάρχουν αρκετές ενότητες στο πλαίσιο της Άνοιξης και η MVC είναι μία από αυτές. Το πλαίσιο του Spring MVC δεν αποτελούσε μέρος του αρχικού σχεδίου. Στην πραγματικότητα, ο λόγος για τον οποίο οι προγραμματιστές της Άνοιξης ήρθαν με το δικό τους πλαίσιο MVC ήταν να παράσχουν λύσεις σε αυτά που έδειξαν ως ανεπάρκειες στις δομές (έκδοση 1) και σε άλλα παρόμοια πλαίσια. Συγκεκριμένα, ανέφεραν ότι ήθελαν να αντιμετωπίσουν την έλλειψη διαχωρισμού μεταξύ του στρώματος παρουσίασης, του επιπέδου χειρισμού αίτησης και του μοντέλου. Το Spring MVC είναι επίσης ένα βασισμένο σε αίτημα πλαίσιο εφαρμογών ιστού.

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

Αν και το Spring MVC και οι Struts είναι δύο δημοφιλή πλαίσια εφαρμογών ιστού που χρησιμοποιούνται για την ανάπτυξη εφαρμογών Java EE, έχουν τις διαφορές τους.Στην πραγματικότητα, το Spring MVC αναπτύχθηκε για να αντιμετωπίσει λίγους περιορισμούς στη δομή (έκδοση 1). Όμως, το Struts2 είναι ένα πολύ βελτιωμένο πλαίσιο από την έκδοση 1 (δεν μοιράζονται καν την ίδια βάση κώδικα) και επομένως τα Spring MVC και Structs2 είναι εξαιρετικά συγκρίσιμα.

Ένα από τα βασικά πλεονεκτήματα του Spring MVC είναι ότι είναι δυνατή η απρόσκοπτη ενσωμάτωση με πολλές επιλογές προβολής όπως JSP / JSTL, Tiles, FreeMaker, Excel, PDF και JSON. Όμως, σε αντίθεση με τους Struts, το Spring MVC δεν παρέχει ενσωματωμένη υποστήριξη AJAX (ανάγκη χρήσης βιβλιοθήκης AJAX τρίτου κατασκευαστή).

Τελικά, και οι δύο θεωρούνται πολύ ώριμα πλαίσια, και η επιλογή μεταξύ των δύο έρχεται κάτω στην προσωπική προτίμηση. Είναι σημαντικό να σημειώσουμε εδώ ότι αν υπάρχουν αρνητικά συναισθήματα προς τις δοκοί, οφείλονται μόνο στις ελλείψεις που διαπιστώθηκαν στην έκδοση 1 της Struts (η οποία θεωρείται σήμερα ξεπερασμένη).