Δυναμικά έργα διαδικτύου και εφαρμογές

Υπάρχουν δύο είδη έργων διαδικτύου: δυναμικά και στατικά. Τα δυναμικά έργα μπορούν να περιέχουν δυναμικούς πόρους J2EE όπως μικροεφαρμογές εξυπηρετητή, αρχεία JSP, φίλτρα και συσχετισμένα μετα-δεδομένα, πέρα από τους στατικούς πόρους όπως εικόνες και αρχεία HTML. Τα στατικά έργα διαδικτύου περιέχουν μόνο στατικούς πόρους. Όταν δημιουργείτε έργα διαδικτύου, μπορείτε να συμπεριλάβετε CSS και βιβλιοθήκες προσδιοριστικών JSP (για δυναμικά έργα διαδικτύου), έτσι ώστε να αρχίζετε την ανάπτυξη με ένα πιο πλήρες σύνολο πόρων έργου.

Τα δυναμικά έργα διαδικτύου είναι πάντα ενσωματωμένα σε έργα επιχειρηματικών εφαρμογών. Ο οδηγός που χρησιμοποιείτε για τη δημιουργία ενός δυναμικού έργου διαδικτύου θα δημιουργήσει επίσης ένα έργο EAR, αν αυτό δεν υπάρχει ήδη. Ο οδηγός θα ενημερώσει επίσης το αρχείο περιγραφής υλοποίησης application.xml του καθορισμένου έργου επιχειρηματικής εφαρμογής ως στοιχείο λειτουργικής μονάδας. Αν εισάγετε ένα αρχείο WAR και δεν δημιουργείτε ένα νέο δυναμικό έργο διαδικτύου, ο οδηγός εισαγωγής αρχείου WAR σας ζητά να καθορίσετε ένα έργο διαδικτύου, το οποίο ήδη απαιτεί ένα έργο EAR.

Οι συμβάσεις J2EE ίσως να επιβάλλουν τη συγγραφή επιπλέον κώδικα μόνο αν θέλετε απλά να δημιουργήσετε μια στατική εφαρμογή διαδικτύου, η οποία δεν περιέχει δυναμικά αρχεία, όπως αρχεία JSP ή μικροεφαρμογές εξυπηρετητή. Σε αυτή την περίπτωση, όταν χρειάζεστε ένα πολύ απλό έργο διαδικτύου, μπορείτε να χρησιμοποιήσετε το στατικό είδος έργου (ανατρέξτε στο θέμα Στατικά έργα διαδικτύου). Έχετε υπόψη σας ότι τα στατικά έργα διαδικτύου μπορούν να μετατραπούν σε δυναμικά επιλέγοντας Μετατροπή σε δυναμικό έργο διαδικτύου, από το μενού "Έργο".

Το μοντέλο J2EE, και ειδικότερα οι προδιαγραφές Sun Microsystems Java Servlet 2.3 Specification, ορίζουν μια δομή καταλόγων εφαρμογής διαδικτύου που καθορίζει τη θέση των αρχείων διαδικτυακού περιεχομένου, των αρχείων κλάσεων, των διαδρομών κλάσεων, των αρχείων περιγραφής διανομής και των υποστηρικτικών μετα-δεδομένων. Η ιεραρχία έργων διαδικτύου αντανακλά αυτή της εφαρμογής διαδικτύου που δημιουργήθηκε από ένα έργο. Στον πάγκο εργασίας, μπορείτε να χρησιμοποιήσετε τον οδηγό δημιουργίας έργου διαδικτύου για να δημιουργήσετε ένα νέο έργο διαδικτύου.

Ο κεντρικός φάκελος έργου περιέχει όλα τα αντικείμενα ανάπτυξης που σχετίζονται με την εφαρμογή διαδικτύου. Ο φάκελος περιεχομένου διαδικτύου περιέχει τα στοιχεία του έργου που είναι απαραίτητα για τη δημιουργία της εφαρμογής διαδικτύου. Αυτή η δομή φακέλων αντιστοιχίζεται στη δομή του αρχείου WAR που ορίζεται από την Sun Microsystems. Τα εξής προεπιλεγμένα αντικείμενα βρίσκονται στην ιεραρχία φακέλων έργου διαδικτύου:
Σημείωση: Στην προβολή "Εξερεύνηση έργων", τα έργα διαδικτύου φιλτράρονται σε κόμβους φακέλων για την προσαρμογή του τρόπου εμφάνισης πόρων διαδικτύου για την ευκολότερη διαχείριση κατά την ανάπτυξη. Για πληροφορίες σχετικά με τη φιλτραρισμένη δομή, ανατρέξτε στο θέμα Προβολή "Εξερεύνηση έργων".
Αρχείο περιγραφής υλοποίησης για εφαρμογή διαδικτύου
Το βασικό αρχείο περιγραφής υλοποίησης για εφαρμογές διαδικτύου (το αρχείο web.xml).
JavaSource
Περιέχει τον πρωτογενή κώδικα Java για τις κλάσεις, τις μικροεφαρμογές εξυπηρετητή και τα bean. Όταν οι πόροι αυτοί προστίθενται σε ένα έργο διαδικτύου, αυτοί μεταγλωττίζονται αυτόματα και τα αρχεία που δημιουργούνται προστίθενται στον κατάλογο WEB-INF/classes. Τα περιεχόμενα του καταλόγου πρωτογενούς κώδικα δεν συσκευάζονται σε αρχεία WAR εκτός και αν ορίσετε τη σχετική επιλογή όταν δημιουργείται ένα αρχείο WAR.
Σημείωση: Αν και το προεπιλεγμένο όνομα που δίδεται στο φάκελο είναι JavaSources, μπορείτε να το αλλάξετε πατώντας με το δεξί κουμπί στο όνομα στην προβολή "Εξερεύνηση έργων" και πατώντας Βελτιστοποίηση δομής - > Μετονομασία.
Φάκελος imported_classes
Αυτός ο φάκελος ενδέχεται να δημιουργηθεί κατά την εισαγωγή ενός αρχείου WAR, και περιέχει αρχεία κλάσεων που δεν συνοδεύονται από πρωτογενή κώδικα. Ο φάκελος imported_classes είναι ένας φάκελος κλάσεων Java. Οι φάκελοι κλάσεων Java μπορούν να δημιουργηθούν επίσης χρησιμοποιώντας τη σελίδα ιδιοτήτων Διαδρομή δόμησης Java του έργου διαδικτύου.
Φάκελος WebContent (περιεχομένων διαδικτύου)
Η υποχρεωτική θέση όλων των πόρων διαδικτύου, συμπεριλαμβανομένων των αρχείων HTML, JSP, γραφικών και ούτω καθεξής. Αν τα αρχεία δεν τοποθετηθούν σε αυτόν τον κατάλογο (ή σε έναν υποκατάλογό του), τα αρχεία δεν θα είναι διαθέσιμα όταν η εφαρμογή εκτελείται σε έναν εξυπηρετητή. Ο φάκελος περιεχομένων διαδικτύου αντιπροσωπεύει τα περιεχόμενα του αρχείου WAR που θα διανεμηθεί στον εξυπηρετητή. Τυχόν αρχεία που δεν βρίσκονται στο φάκελο αυτό θεωρούνται πόροι της φάσης ανάπτυξης (για παράδειγμα, αρχεία .java, .sql και αρχεία .mif), και δεν διανέμονται όταν το έργο δημοσιεύεται ή γίνεται δοκιμή μονάδων.
Σημείωση: Αν και το προεπιλεγμένο όνομα που δίδεται στο φάκελο είναι WebContent, μπορείτε να αλλάξετε το όνομα στην προβολή "Εξερεύνηση έργων" πατώντας με το δεξί κουμπί στο φάκελο και επιλέγοντας Βελτιστοποίηση δομήςΜετονομασία ή από τη σελίδα "Διαδίκτυο" του παράθυρου διαλόγου "Ιδιότητες". Σε ένα δυναμικό έργο διαδικτύου, με την αλλαγή του ονόματος του φακέλου ενημερώνεται ο κατάλογος δεδομένων εξόδου δόμησης Java.
META-INF
Ο κατάλογος αυτός περιέχει το αρχείο MANIFEST.MF, που χρησιμοποιείται για την αντιστοίχιση διαδρομών κλάσεων για εξαρτώμενα αρχεία JAR που υπάρχουν σε άλλα έργα στο ίδιο έργο Enterprise Application. Μια καταχώρηση στο αρχείο αυτό θα ενημερώσει τη διαδρομή κλάσεων περιβάλλοντος εκτέλεσης έργου και τις ρυθμίσεις δόμησης Java για την συμπερίληψη των αρχείων JAR στα οποία γίνεται παραπομπή.
theme
Ο συνιστώμενος κατάλογος για CSS και άλλα αντικείμενα που αφορούν στο στυλ.
WEB-INF
Σύμφωνα με τις προδιαγραφές Sun Microsystems Java Servlet 2.3 Specification, ο κατάλογος αυτός περιέχει τους υποστηρικτικούς πόρους διαδικτύου για μια εφαρμογή διαδικτύου, συμπεριλαμβανομένου του αρχείου web.xml και των καταλόγων κλάσεων και βιβλιοθηκών.
/classes
Ο κατάλογος αυτός προορίζεται για μικροεφαρμογές εξυπηρετητή, βοηθητικές κλάσεις και τον κατάλογο δεδομένων εξόδου μεταγλωττιστή Java. Οι κλάσεις στον κατάλογο αυτό χρησιμοποιούνται από το φορτωτή κλάσεων της εφαρμογή για τη φόρτωση των κλάσεων. Οι φάκελοι σε αυτό τον κατάλογο θα αντιστοιχίζουν πακέτα και ονόματα κλάσεων, όπως: /WEB-INF/classes/com/mycorp/servlets/MyServlet.class.

Μην τοποθετείτε αρχεία .class απευθείας σε αυτό τον κατάλογο. Τα αρχεία .class τοποθετούνται στον κατάλογο αυτό αυτόματα όταν ο μεταγλωττιστής Java μεταγλωττίζει αρχεία πρωτογενούς κώδικα Java που βρίσκονται στον κατάλογο Java Resources. Τυχόν αρχεία που τοποθετούνται απευθείας σε αυτό τον κατάλογο θα διαγραφούν από το μεταγλωττιστή Java κατά την εκτέλεσή του.

/lib
Τα υποστηρικτικά αρχεία JAR στα οποία παραπέμπει η εφαρμογή διαδικτύου. Τυχόν κλάσεις σε αρχεία .jar που τοποθετούνται σε αυτόν τον κατάλογο θα είναι προσπελάσιμα από την εφαρμογή διαδικτύου.
Libraries
Τα υποστηρικτικά αρχεία JAR στα οποία παραπέμπει η εφαρμογή διαδικτύου. Ο φάκελος αυτός έχει τα ίδια περιεχόμενα με το φάκελο lib. Επιπλέον, σε αυτό το φάκελο συμπεριλαμβάνονται έργα βιβλιοθήκης διαδικτύου που είναι "εικονικά" αρχεία JAR, τα οποία δεν βρίσκονται πραγματικά στο έργο διαδικτύου αλλά είναι συσχετισμένα με έργα Java σε άλλο σημείο στο χώρο εργασίας σας. Συσκευάζονται με το έργο σας όταν εξάγετε το αρχείο WAR της εφαρμογής.
Σημείωση: Μια καταχώρηση βιβλιοθήκης στη διαδρομή δόμησης Java θα παραμείνει εκεί εκτός και αν το πραγματικό αρχείο JAR διαγραφεί από το φάκελο WEB-INF/lib. Αν αφαιρέσετε μια καταχώρηση διαδρομής βιβλιοθήκης αλλά όχι και το αρχείο JAR, η διαδρομή βιβλιοθήκης θα προστεθεί αυτόματα εκ νέου στη διαδρομή.
Σχετικές έννοιες
Πόροι διαδικτύου
Εξαγωγή αρχείων Web archive (WAR)
Σχετικές εργασίες
Δημιουργία δυναμικού έργου διαδικτύου
Δημιουργία αρχείων JSP (JavaServer Pages)