Κορυφαίες 50 ερωτήσεις συνέντευξης JSP & Απαντήσεις

Anonim

Λήψη PDF

1) Εξηγήστε το JSP και πείτε τις χρήσεις του.

Το JSP σημαίνει Java Server Pages. Είναι μια τεχνολογία επιπέδου παρουσίασης ανεξάρτητη από την πλατφόρμα. Έρχεται με τις πλατφόρμες J2EE της SUN. Είναι σαν σελίδες HTML αλλά με ενσωματωμένα κομμάτια κώδικα Java. Αποθηκεύονται με επέκταση .jsp. Συντάσσονται χρησιμοποιώντας μεταγλωττιστή JSP στο παρασκήνιο και δημιουργούν ένα Servlet από τη σελίδα.

2) Ποια είναι η απαίτηση μιας βιβλιοθήκης ετικετών;

Μια συλλογή προσαρμοσμένων ετικετών ονομάζεται Βιβλιοθήκη ετικετών. Οι επαναλαμβανόμενες εργασίες αντιμετωπίζονται πιο εύκολα και επαναχρησιμοποιούνται σε πολλές εφαρμογές για την αύξηση της παραγωγικότητας. Χρησιμοποιούνται από σχεδιαστές εφαρμογών Web που εστιάζουν στην παρουσίαση και όχι στην πρόσβαση σε βάση δεδομένων ή σε άλλες υπηρεσίες. Μερικές δημοφιλείς βιβλιοθήκες είναι η βιβλιοθήκη ετικετών String και η βιβλιοθήκη ετικετών οθόνης Apache.

3) Εξηγήστε την τεχνολογία JSP.

Το JSP είναι μια τυπική επέκταση της Java και ορίζεται πάνω από τις επεκτάσεις Servlet. Στόχος του είναι να απλοποιήσει τη διαχείριση και τη δημιουργία δυναμικών ιστοσελίδων. Είναι ανεξάρτητη από την πλατφόρμα, ασφαλής και χρησιμοποιεί τη Java ως γλώσσα δέσμης ενεργειών από διακομιστή.

4) Εξηγήστε τα έμμεσα αντικείμενα στο JSP.

Τα αντικείμενα που δημιουργούνται από το κοντέινερ ιστού και περιέχουν πληροφορίες σχετικά με ένα συγκεκριμένο αίτημα, εφαρμογή ή σελίδα ονομάζονται έμμεσα αντικείμενα. Αυτοί είναι :

  • απάντηση
  • εξαίρεση
  • εφαρμογή
  • αίτηση
  • συνεδρία
  • σελίδα
  • έξω
  • διαμόρφωση
  • σελίδα

5) Πώς μπορούν να αποτραπούν πολλές υποβολές λόγω κλικ στα κουμπιά ανανέωσης;

Χρησιμοποιώντας ένα μοτίβο Post / Redirect / Get ή PRG, αυτό το πρόβλημα μπορεί να λυθεί.

1) Μια φόρμα που συμπληρώνεται από τον χρήστη υποβάλλεται στον διακομιστή χρησιμοποιώντας τη μέθοδο POST ή GET. Η κατάσταση στη βάση δεδομένων και το επιχειρηματικό μοντέλο ενημερώνονται.

2) Μια απάντηση ανακατεύθυνσης χρησιμοποιείται για να απαντήσει από το servlet για μια σελίδα προβολής.

3) Μια προβολή φορτώνεται από το πρόγραμμα περιήγησης χρησιμοποιώντας την εντολή GET και δεν αποστέλλονται δεδομένα χρήστη. Αυτό είναι ασφαλές από πολλές υποβολές, καθώς είναι μια ξεχωριστή σελίδα JSP.

6) Η τεχνολογία JSP είναι επεκτάσιμη;

Ναι, το JSP είναι εύκολα επεκτάσιμο με χρήση και τροποποίηση ετικετών, ή προσαρμοσμένων ενεργειών, ενσωματωμένων σε βιβλιοθήκες ετικετών.

7) Διαφοροποίηση μεταξύ respon.sendRedirect (url) και

…>.

Το στοιχείο προωθεί το αντικείμενο αιτήματος από 1 αρχείο JSP σε άλλο. Το αρχείο προορισμού μπορεί να είναι HTML, servlet ή άλλο αρχείο JSP, αλλά θα πρέπει να βρίσκεται στο ίδιο περιβάλλον εφαρμογής με το αρχείο προώθησης JSP.

sendRedirect αποστολή προσωρινής απόκρισης ανακατεύθυνσης HTTP στο πρόγραμμα περιήγησης. Στη συνέχεια, το πρόγραμμα περιήγησης δημιουργεί ένα νέο αίτημα για τη σελίδα ανακατεύθυνσης. Σκοτώνει τις μεταβλητές συνεδρίας.

8) Μπορεί να προσπελαστεί ένα μεταγενέστερο αίτημα με τον servlet κωδικό κάποιου, εάν ένα χαρακτηριστικό request έχει ήδη σταλεί στο JSP του;

Το αίτημα δεν εμπίπτει στο πεδίο εφαρμογής, επομένως δεν είναι προσβάσιμο. Ωστόσο, εάν ένα χαρακτηριστικό request έχει οριστεί στο servlet κάποιου, τότε μπορεί να έχει πρόσβαση στο JSP του.

Ένα JSP είναι ένα στοιχείο του διακομιστή και η σελίδα μεταφράζεται σε servlet Java και στη συνέχεια εκτελείται. Μόνο ο κώδικας HTML δίνεται ως έξοδος.

9) Πώς να συμπεριλάβετε στατικά αρχεία σε μια σελίδα JSP;

Οι στατικές σελίδες περιλαμβάνονται πάντα χρησιμοποιώντας οδηγία JSP include. Με αυτόν τον τρόπο η συμπερίληψη πραγματοποιείται στη φάση μετάφρασης μία φορά. Σημειώστε ότι πρέπει να παρέχεται σχετική διεύθυνση URL για το χαρακτηριστικό αρχείου. Αν και μπορεί να συμπεριληφθούν στατικοί πόροι, δεν προτιμάται καθώς κάθε αίτημα απαιτεί συμπερίληψη.

10) Γιατί το JComponent έχει μεθόδους προσθήκης () και κατάργησης () αλλά το στοιχείο δεν το κάνει;

Το JComponent είναι μια υποκατηγορία Container. Περιέχει άλλα συστατικά και JComponents.

11) Πώς μπορεί να εφαρμοστεί μια σελίδα JSP ασφαλούς νήματος;

Αυτό μπορεί να γίνει με την εφαρμογή τους από τη διεπαφή SingleThreadModel. Προσθέστε την οδηγία <% @ page isThreadSafe = "false"%> στη σελίδα JSP.

12) Πώς μπορεί να αποφευχθεί η προσωρινή αποθήκευση της JSP ή της servlet σελίδας από το πρόγραμμα περιήγησης;

Χρησιμοποιώντας κατάλληλα χαρακτηριστικά κεφαλίδας HTTP για να αποτρέψετε την αποθήκευση της δυναμικής παραγωγής περιεχομένου από μια σελίδα JSP από το πρόγραμμα περιήγησης.

13) Πώς να περιορίσετε την εμφάνιση σφαλμάτων σελίδας σε μια σελίδα JSP;

Ρυθμίζοντας ένα χαρακτηριστικό "ErrorPage" του καταλόγου PAGE στο όνομα της σελίδας σφάλματος στη σελίδα JSP και, στη συνέχεια, στο σύνολο σελίδων jsp σφάλματος "isErrorpage =" TRUE ", τα σφάλματα μπορούν να σταματήσουν να εμφανίζονται.

14) Τι είναι οι δράσεις JSP;

Πρόκειται για ετικέτες XML, οι οποίες κατευθύνουν τον διακομιστή στη χρήση υπαρχόντων στοιχείων ή τη συμπεριφορά ελέγχου του JSP Engine. Αποτελούνται από ένα τυπικό πρόθεμα "jsp: και όνομα δράσης.

15) Διαχωρίστε μεταξύ και <% @ include file =…>.

Και οι δύο αυτές ετικέτες περιλαμβάνουν πληροφορίες από 1 σελίδα σε άλλη.

Η πρώτη ετικέτα λειτουργεί ως συνάρτηση κλήσης μεταξύ δύο Jsp. Εκτελείται κάθε φορά που η σελίδα πελάτη έχει πρόσβαση από τον πελάτη. Είναι χρήσιμο να διαμορφώσετε την εφαρμογή Ιστού. Το νέο περιεχόμενο περιλαμβάνεται στην έξοδο.

Το περιεχόμενο της δεύτερης ετικέτας του αρχείου είναι ενσωματωμένο με κείμενο με παρόμοια οδηγία. Το αλλαγμένο περιεχόμενο δεν περιλαμβάνεται στην έξοδο. Είναι χρήσιμο όταν απαιτείται κωδικός από ένα jsp από πολλά jsp.

16) Μπορεί ο κατασκευαστής να χρησιμοποιηθεί αντί του init (), για την προετοιμασία του servlet;

Ναι είναι δυνατόν. Αλλά δεν προτιμάται επειδή το init () αναπτύχθηκε επειδή παλαιότερες εκδόσεις Java δεν μπορούσαν να επικαλεσθούν δυναμικά κατασκευαστές με επιχειρήματα. Έτσι δεν μπορούσαν να εκχωρήσουν ένα servletConfig. Σήμερα, ωστόσο, τα δοχεία servlet εξακολουθούν να καλούν μόνο κατασκευαστή no-arg. Επομένως δεν υπάρχει πρόσβαση στο servletContext ή στο servletConfig.

17) Εξηγήστε τις μεθόδους κύκλου ζωής. 1)

jsplnit () : Το κοντέινερ το καλεί για να προετοιμάσει την παρουσία servlet. Καλείται μόνο μία φορά για την παρουσία servlet και προηγείται κάθε άλλης μεθόδου. 2)

_jspService () : Το κοντέινερ το καλεί για κάθε αίτημα και το μεταδίδει στα αντικείμενα. 3)

jspDestroy () : Καλείται από το κοντέινερ λίγο πριν από την καταστροφή της παρουσίας.

18) Εξηγήστε τα σχόλια εξόδου JSP;

Είναι σχόλια που μπορούν να προβληθούν στο HTML Source File.

19) Ορισμός έκφρασης

Η ετικέτα έκφρασης χρησιμοποιείται για την εισαγωγή τιμών Java απευθείας στην έξοδο. Η σύνταξή του είναι

<% = έκφραση%>

Περιέχει μια έκφραση γλώσσας δέσμης ενεργειών που αξιολογείται, στη συνέχεια μετατρέπεται σε συμβολοσειρά και στη συνέχεια εισάγεται όπου η έκφραση έρχεται στο αρχείο JSP.

20) Ορίστε τη σύνθεση.

Η σύνθεση έχει μια ισχυρότερη σχέση με το αντικείμενο από τη Συγκέντρωση.

21) Ορίστε το JSP Scriptlet.

Είναι μια ετικέτα JSP που περικλείει κώδικα Java σε σελίδες JSP. Η σύνταξή τους είναι <%%>. Ο κώδικας που γράφεται σε scriptlet εκτελείται κάθε φορά που εκτελείται το πρόγραμμα.

22) Πώς μπορούν να διαβιβαστούν πληροφορίες από ένα JSP σε άλλο JSP;

Η ετικέτα μας επιτρέπει να μεταφέρουμε πληροφορίες μεταξύ πολλών Jsp.

23) Εξηγήστε τις χρήσεις της ετικέτας .

id="beanInstName"scope= "page | application"class="ABC.class" type="ABC.class"

Αυτή η ετικέτα δημιουργεί μια παρουσία java bean. Καταρχάς προσπαθεί να βρει αν υπάρχει ήδη η παρουσία bean και εκχωρεί στα καταστήματα μια αναφορά στη μεταβλητή. Ο τύπος καθορίζεται επίσης. Διαφορετικά, δημιουργείται από την καθορισμένη κλάση που αποθηκεύει μια αναφορά στη νέα μεταβλητή.

24) Εξηγήστε τον χειρισμό των εξαιρέσεων χρόνου εκτέλεσης.

Το χαρακτηριστικό Errorpage χρησιμοποιείται για την αποδέσμευση των εξαιρέσεων χρόνου εκτέλεσης που προωθούνται αυτόματα σε μια σελίδα επεξεργασίας σφαλμάτων.

Αναπροσανατολίζει το πρόγραμμα περιήγησης στη σελίδα JSP error.jsp εάν αντιμετωπίζεται οποιαδήποτε εξαίρεση που αντιμετωπίζεται κατά το χειρισμό αιτημάτων. Είναι μια σελίδα επεξεργασίας σφαλμάτων.

25) Γιατί ξεκινά το _jspService () με ένα "_" αλλά άλλες μέθοδοι κύκλου ζωής δεν το κάνουν;

Ό, τι περιεχόμενο δημιουργείται σε μια σελίδα jsp μπαίνει στη μέθοδο _jspService () από το κοντέινερ. Εάν είναι παράκαμψη, ο μεταγλωττιστής δίνει σφάλμα, αλλά οι άλλοι 2 κύκλοι ζωής μπορούν εύκολα να παρακάμψουν. Έτσι, το «_» δείχνει ότι δεν μπορούμε να παρακάμψουμε αυτήν τη μέθοδο.

26) Εξηγήστε τις διάφορες τιμές πεδίου για την ετικέτα .

Η ετικέτα χρησιμοποιείται για τη χρήση οποιουδήποτε αντικειμένου java στη σελίδα jsp. Ορισμένες τιμές εύρους είναι:

1) εφαρμογή

2) αίτημα

3) σελίδα

4) συνεδρία

27) Εμφάνιση των 2 τύπων σχολίων στο JSP.

Οι 2 τύποι είναι:

<%-JSP Comment-%>

28) Μπορεί να παρακαμφθεί η στατική μέθοδος;

Μπορούμε να δηλώσουμε στατικές μεθόδους με την ίδια υπογραφή στην υποκατηγορία, αλλά δεν θεωρείται υπερισχύουσα καθώς δεν θα υπάρξει πολυμορφισμός χρόνου εκτέλεσης. Εξ ου και η απάντηση είναι «Όχι».

29) Εξηγήστε τις οδηγίες JSP.

Οι οδηγίες JSP είναι μηνύματα στον JSP Engine. Χρησιμεύουν ως μήνυμα από σελίδα σε κοντέινερ και ελέγχουν την επεξεργασία ολόκληρης της σελίδας. Μπορούν να ορίσουν καθολικές τιμές όπως δήλωση τάξης. Δεν παράγουν έξοδο και περικλείονται στο <% @….%>

30) Εξηγήστε τις οδηγίες pge.

Οι οδηγίες σελίδας ενημερώνουν τον JSP Engine για τις κεφαλίδες και τις εγκαταστάσεις που λαμβάνει η σελίδα από το περιβάλλον. Βρίσκεται στην κορυφή όλων των σελίδων JSP. Η σύνταξή του είναι <% @ page attribute = "value">

31) Εμφάνιση χαρακτηριστικών οδηγιών σελίδας.

1) Συνεδρία: Εμφανίζει εάν υπάρχουν διαθέσιμα δεδομένα περιόδου λειτουργίας στη σελίδα.

2) Εισαγωγή: δείχνει πακέτα που εισάγονται.

3) isIgnated: Δείχνει εάν οι εκφράσεις EL αγνοούνται όταν το JSP μεταφράζεται σε servlet.

4) contentType: επιτρέπει στον χρήστη να καθορίσει τον τύπο περιεχομένου της σελίδας.

32) Τι είναι η οδηγία συμπερίληψης;

Η οδηγία συμπερίληψης στατικά εισάγει τα περιεχόμενα ενός πόρου στο τρέχον JSP. Βοηθά στην επαναχρησιμοποίηση κώδικα χωρίς επανάληψη. και περιλαμβάνει τα περιεχόμενα του αρχείου κατά τη μετάφραση. Η σύνταξή του έχει ως εξής <% @ include file = "Filename"%>.

33) Ποιες είναι οι τυπικές δράσεις στο JSP;

Επηρεάζουν τη συνολική συμπεριφορά χρόνου εκτέλεσης μιας σελίδας και την απόκριση που αποστέλλεται στον πελάτη. Χρησιμοποιούνται για να συμπεριλάβουν ένα αρχείο κατά την ώρα του αιτήματος, για να δημιουργήσουν ένα JavaBean ή να βρουν ένα. Χρησιμοποιούνται επίσης για τη δημιουργία κώδικα για πρόγραμμα περιήγησης ή για προώθηση μιας αίτησης σε μια νέα σελίδα.

34) Εξηγήστε τη δράση jsp: setProperty.

Χρησιμοποιείται για να δώσει τιμές στις ιδιότητες των φασολιών που έχουν ήδη αναφερθεί.

jsp: Το setproperty εκτελείται ακόμη και αν έχει δημιουργηθεί ένα νέο φασόλι ή αν υπάρχει κάποιο υπάρχον φασόλι.

Με την προσθήκη στο τέλος του κώδικα, η συνθήκη για την εκτέλεση αντιστρέφεται, δηλαδή δεν εκτελείται εάν εντοπιστεί υπάρχον αντικείμενο και μόνο εάν ένα νέο αντικείμενο είχε δημιουργηθεί.

35) Ορισμός στατικού μπλοκ.

Χρησιμοποιείται για την εκκίνηση του μέλους στατικών δεδομένων. Εκτελείται πριν από τη φόρτωση της τάξης.

36) Εξηγήστε την ενέργεια jsp: plugin.

Αυτή η ενέργεια βοηθά στην εισαγωγή ενός συγκεκριμένου αντικειμένου στο πρόγραμμα περιήγησης ή ενσωματώνει το στοιχείο που απαιτείται για τον καθορισμό της εκτέλεσης του applet χρησιμοποιώντας Java plugin.

37) Εξηγήστε την επικύρωση πελάτη και διακομιστή.

Το Javascript χρησιμοποιείται για την επικύρωση του πελάτη. Πραγματοποιείται εντός του προγράμματος περιήγησης. Το Javascript χρησιμοποιείται για την υποβολή των δεδομένων της φόρμας εάν η επικύρωση είναι επιτυχής. Τα σφάλματα επικύρωσης δεν απαιτούν επιπλέον ταξίδι στο δίκτυο, επειδή δεν είναι δυνατή η υποβολή της φόρμας.

Η επικύρωση πραγματοποιείται επίσης στο διακομιστή μετά την υποβολή. Εάν η επικύρωση αποτύχει, απαιτείται επιπλέον ταξίδι δικτύου για να στείλετε ξανά τη φόρμα στον πελάτη.

38) Τι είναι η Μεταφραστική Φάση;

Ο κινητήρας JSP μεταφράζει και μεταγλωττίζει ένα αρχείο JSP σε servlet. Αυτό το servlet μετακινείται στη φάση εκτέλεσης όπου αντιμετωπίζονται αιτήματα και απαντήσεις. Συντάσσονται για πρώτη φορά στην οποία έχουν πρόσβαση, εκτός και αν συντάσσονται χειροκίνητα εκ των προτέρων. Η χειροκίνητη ή ρητή συλλογή είναι χρήσιμη για μακρά και περίπλοκα προγράμματα.

39) Εκτελέστε μια ανακατεύθυνση προγράμματος περιήγησης από μια σελίδα JSP.

<% response.sendRedirect(URL); %>

ή μπορούμε να αλλάξουμε τη θέση του χαρακτηριστικού κεφαλίδας HTTP ως εξής:

<% response.setStatus(HttpServletResponse.SC_MOVED_PERMANENTLY); response.setHeader(URL); %>

40) Δώστε χρήσεις της Κλωνοποίησης Αντικειμένων.

Η κλωνοποίηση αντικειμένων χρησιμοποιείται για τη δημιουργία ενός ακριβούς αντιγράφου ενός αντικειμένου πληκτρολογώντας τον ίδιο κώδικα ή χρησιμοποιώντας διάφορες άλλες τεχνικές.

41) Πώς να προωθήσετε ένα αίτημα σε άλλη πηγή.

42) Πώς μπορεί να αποτραπεί η αυτόματη δημιουργία συνεδρίας σε μια σελίδα JSP;

Η σελίδα JSP δημιουργεί αυτόματα περιόδους σύνδεσης για αιτήματα. Πληκτρολογώντας τα παρακάτω, μπορεί να αποφευχθεί.

<%@ page session=”false” %>

43) Πώς μπορείτε να αποφύγετε τον κώδικα σεναρίου στο JSP;

JavaBeans ή προσαρμοσμένες ετικέτες μπορούν να χρησιμοποιηθούν αντί κώδικα κώδικα.

44) Εξηγήστε τη μέθοδο jspDestroy ().

Κάθε φορά που μια σελίδα JSP πρόκειται να καταστραφεί, το κοντέινερ ενεργοποιεί τη μέθοδο jspDestroy () από τη διεπαφή javax.servlet.jsp.JspPage. Οι μέθοδοι καταστροφής servlets είναι παρόμοιες με αυτήν. Μπορεί να παρακαμφθεί εύκολα για να εκτελέσετε εκκαθάριση, όπως όταν κλείνετε μια σύνδεση βάσης δεδομένων.

45) Εξηγήστε την ενέργεια .

Πρόκειται για μια ενέργεια που χρησιμοποιείται με τυπικές ενέργειες include ή forward. Βοηθά στη μετάδοση ονομάτων και τιμών παραμέτρων σε έναν πόρο.

46) Εξηγήστε τη στατική μέθοδο.

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

47) Πώς να απενεργοποιήσετε τη δέσμη ενεργειών;

Η δέσμη ενεργειών μπορεί εύκολα να απενεργοποιηθεί ρυθμίζοντας το μη έγκυρο στοιχείο της περιγραφής ανάπτυξης σε πραγματικό. Είναι ένα υπο-στοιχείο της ομάδας ιδιοκτησίας. Μπορεί επίσης να είναι ψευδές.

48) Ορίστε τη δήλωση JSP.

Η δήλωση JSP είναι ετικέτες που χρησιμοποιούνται στη δήλωση μεταβλητών. Περιλαμβάνονται στην ετικέτα <%!%>. Χρησιμοποιούνται στη δήλωση συναρτήσεων και μεταβλητών.

<%@page contentType=”text/html” %><%!int a=0;private int getCount(){a++;return a;}%>

Values of a are:

<%=getCount()%>

49) Πώς μπορεί να αποτραπεί η αποθήκευση HTML Output;

<%response.setHeader("Cache-Control", "no=store");response.setDateHeader("Expires", 0);%>

50) Πώς είναι το JSP καλύτερο από την τεχνολογία Servlet;

Το JSP είναι μια τεχνολογία από την πλευρά του διακομιστή για να κάνει τη δημιουργία περιεχομένου απλή. Είναι κεντρικά έγγραφα, ενώ servlets είναι προγράμματα. Μια σελίδα διακομιστή Java μπορεί να περιέχει τμήματα του προγράμματος Java, τα οποία εκτελούν και δημιουργούν τάξεις Java. Ωστόσο, εμφανίζονται μέσα στο αρχείο προτύπου HTML. Παρέχει το πλαίσιο για την ανάπτυξη μιας εφαρμογής Ιστού.