2009-09-07 8 views
0

une page JSP, il y a un tel code:Pourquoi utiliser jsp: useBean ici mais pas simplement créer un nouvel objet? Dans

<jsp:useBean id="checklog" class="com.google.admin.guard.CheckLogBean" scope="session" /> 

puis

<% checklog.checkit(); %> 

Pourquoi nous ne créons pas seulement l'objet avec new com.google.admin.guard.CheckLogBean? Quel est l'avantage de le faire?

Et dans le code source, il n'existe pas une telle classe, mais lorsque nous le déployons sur le serveur, cela fonctionne. Il semble que le serveur peut lui passer la classe?

Merci.

Répondre

2

Les classes de beans Jsp (.class) doivent être placées sous le dossier WEB-INF/classes ou, si elles ont été empaquetées dans .jar, mettre .jar fichiers dans WEB-INF/lib. jsp:useBean est une action pour instancier un bean de manière déclarative et avec différentes portées (session, requête, application et page). Une autre caractéristique de Bean est La magie de l'introspection - Java gère ce petit miracle grâce à un processus appelé introspection qui permet à une classe d'exposer ses méthodes et capacités à la demande.

JavaBeans Components in JSP Pages

RÉSUMÉ: composants JavaBeans sont Java classes qui peuvent être facilement réutilisés et composés ensemble dans des applications. Toute classe Java suivant certaines conventions de conception peut être un composant JavaBeans .

1

The useBean construct is more concise. Cela permet de réduire l'utilisation des expressions de script (qui ne les déteste pas?). Le fait que les constructions useBean fonctionne bien avec la boîte à outils d'un concepteur (lisez Dreamweaver et al), car il s'appuie sur une balise alors que les expressions de script (pour initialiser une instance d'un bean) ne sont pas si évidentes.

Questions connexes