java.lang.InstantiationException: bean [nom] ne trouve pas dans son champ d'
Je suis en train d'apprendre comment utiliser les jsp et les haricots maintenant, et ne peut pas comprendre ce que le problème que je vais avoir.
Je suis en train de créer un bean comme ceci:
...
et j'obtiens l'erreur:
java.lang.InstantiationException: bean réserve qui n'a pas trouvé dans son champ d'
J'ai regardé autour de ligne, et la plupart des gens semblent vous recommandons d'utiliser class="..." type="...", ou à l'aide d'une instruction import. Je fais déjà l'ancien et j'ai essayé le dernier...des idées?
C'est le haricot:
package homework10;
public class Reservation {
private int groupSize;
private String status;
private double cost;
private boolean triedAndFailed;
public Reservation(){
}
public void setGroupSize(int gs)
{
groupSize = gs;
}
public int getGroupSize()
{
return groupSize;
}
public void setStatus(String str)
{
this.status = str;
}
public String getStatus()
{
return status;
}
public void setCost(double cost)
{
this.cost = cost;
}
public double getCost()
{
return cost;
}
public void setTriedAndFailed(boolean bool)
{
this.triedAndFailed = bool;
}
public boolean isTriedAndFailed()
{
return triedAndFailed;
}
}
et c'est le début de la page jsp:
<head>
<!--<script type="text/javascript" src="functions8.js">
</script>-->
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>BHC Calculator-HTML-validation + Servlet Version</title>
<jsp:useBean id = "reservation" class = "homework10.Reservation" scope = "session" />
</head>
Merci d'avance!
Type représente l'interface ou le parent de la classe de votre classe d'Haricot,il est donc recommandé de les utiliser comme un attribut de Classe plutôt de type
Non, vous avez mal compris, soit. Voir le lien dans ma réponse.
Oh..Pourriez-vous svp m'indiquer les sources où il a été mentionné qu'elle renvoie une exception si vous la donner comme type?
beaucoup de récipients de JSP sont open source comme Tomcat. Il suffit de regarder vous-même.
Enfin, j'ai trouvé réponse à ma question.. en Vertu de la JSP 2.1 Spécification pour UseBean Balise sémantique, il est mentionné "Le type de l'attribut doit être utilisé pour spécifier un type Java, qui ne peut pas être instancié comme un JavaBean (c'est à dire un type Java, qui est une classe abstraite, une interface ou une classe sans public, pas des arguments du constructeur).". Son la spécification, la mise en œuvre. 🙂
Non, vous avez mal compris, soit. Voir le lien dans ma réponse.
Oh..Pourriez-vous svp m'indiquer les sources où il a été mentionné qu'elle renvoie une exception si vous la donner comme type?
beaucoup de récipients de JSP sont open source comme Tomcat. Il suffit de regarder vous-même.
Enfin, j'ai trouvé réponse à ma question.. en Vertu de la JSP 2.1 Spécification pour UseBean Balise sémantique, il est mentionné "Le type de l'attribut doit être utilisé pour spécifier un type Java, qui ne peut pas être instancié comme un JavaBean (c'est à dire un type Java, qui est une classe abstraite, une interface ou une classe sans public, pas des arguments du constructeur).". Son la spécification, la mise en œuvre. 🙂
OriginalL'auteur Jo.P | 2013-07-24
Vous devez vous connecter pour publier un commentaire.
Cela signifie essentiellement dans la plaine de la vanille Java termes suivants construire
a échoué.
Il existe de nombreuses causes possibles à cela:
Basé sur le code fourni jusqu'à présent, et en supposant que vous êtes certain à 100% que vous utilisez le code que vous pensez que vous êtes en cours d'exécution, alors ce ne peut être la cause #1 ou #2. Cette classe est public et dispose d'un constructeur par défaut qui ne fait quasiment rien. Par conséquent, #3, #4 et #5 peut être rayé.
Afin de régler les éventuels cause n ° 1, assurez-vous que le fichier de classe est présente dans la webapp déployer dans le chemin d'accès
/WEB-INF/classes/homework10/Reservation.class
. Afin de régler les éventuels cause n ° 2, vous devez également vous assurer que la classe est compilée de la bonne façon, tout en préservant la structure du package. Donc, lorsque vous n'utilisez pas un IDE comme Eclipse, mais vous êtes à la tripoter de bas niveau dans l'invite de commande, alors vous devriez assurez-vous d'inclure le package lors de la compilation de la classe.Sur les éventuelles solutions que vous avez trouvé,
C'est correct. Pour en savoir plus, à la tête de cette réponse: javax.servlet.ServletException: bean [nom] ne trouve pas dans son champ d' Cependant, ce n'est clairement pas la cause dans votre cas particulier, comme il n'a apparemment pas de résoudre le problème.
Cela ne fait pas de proférer des sens. Ces gens sont confus avec scriptlets. Ils devraient être éviter à toute l'étendue. Le
<jsp:useBean>
aussi, en fait, mais c'est une autre histoire. Voir aussi nos Servlets page wiki pour quelques conseils.Je ne fais pas de Netbeans, donc je suis un peu limité en donnant des instructions détaillées. Au moins, essayer de "nettoyer" et de "reconstruire" le projet, serveur, cache, etc. Même à la fermeture/réouverture du projet ou du redémarrage de l'ensemble de l'IDE doit s'assurer qu'il n'y a rien de sale dans la construction. Cela dit, êtes-vous en mesure de créer une servlet et l'importation/construction
Reservations
classe "l'habitude de Java"? Sinon, si vous avez une exception là-bas, que exception doit sans doute contenir beaucoup plus de détails sur la véritable cause du problème et donc aussi de mieux donner des indices sur la solution.K, j'ai travaillé sur elle et dans le processus a couru dans quelques autres questions, fixe, et maintenant ça fonctionne! Merci pour votre aide et votre réponse a été bonne et utile, et votre sens de me pousser dans la bonne direction!
Vous êtes les bienvenus.
OriginalL'auteur BalusC