java.lang.InstantiationException:在范围内找不到bean[name]
我现在正在学习如何使用jsp和beans,但不明白我遇到了什么问题 我正在尝试创建一个如下的bean: ... 我得到了一个错误: java.lang.InstanceionException:在范围内找不到bean保留 我在网上浏览过,大多数人似乎建议使用class=“…”而不是type=“…”,或者使用import语句。我已经在做前者,并尝试了后者……有什么想法吗 这是bean:java.lang.InstantiationException:在范围内找不到bean[name],java,jsp,javabeans,Java,Jsp,Javabeans,我现在正在学习如何使用jsp和beans,但不明白我遇到了什么问题 我正在尝试创建一个如下的bean: ... 我得到了一个错误: java.lang.InstanceionException:在范围内找不到bean保留 我在网上浏览过,大多数人似乎建议使用class=“…”而不是type=“…”,或者使用import语句。我已经在做前者,并尝试了后者……有什么想法吗 这是bean: package homework10; public class Reservation { privat
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;
}
}
这是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>
BHC计算器HTML验证+Servlet版本
提前谢谢
java.lang.InstanceionException
这基本上意味着在普通Java术语中,以下构造
import homework10.Reservation;
// ...
Reservation reservation = new Reservation();
失败了
造成这种情况的原因有很多:
/WEB-INF/classes/homework10/Reservation.class
。要修复可能的原因#2,还应确保在保留包结构的同时以正确的方式编译类。因此,当您没有使用像Eclipse这样的IDE,而是在命令提示符中处理低级代码时,您应该确保在编译类时包含该包
至于你找到的可能的解决方案 大多数人似乎建议使用class=“…”而不是type=“…” 没错。要了解更多信息,请回答以下问题:然而,这显然不是您特定案例的原因,因为它显然没有解决问题 或者使用导入语句
这毫无意义。那些人把Scriptlet弄糊涂了。它们应该在所有程度上都是安全的。实际上,
也是,但那是另一回事。另请参阅以获取一些提示。Type表示Bean类的接口或父类,因此建议将其用作类属性而不是类属性type@Phani:不,你也误解了。请看我答案中的链接。@BalusC Oh..你能告诉我它的来源吗?如果你将它作为类型给出,它将返回异常?@Phani:很多JSP容器都是像Tomcat一样的开源容器。看看你自己。@BalusC最后,我找到了我问题的答案。。在UseBean标记语义的JSP 2.1规范中,提到“应该使用type属性指定一个不能被实例化为JavaBean的Java类型(即一个抽象类、接口或没有公共无参数构造函数的类的Java类型)。”。这是规范,而不是实现。:)谢谢我刚转到netbeans的“文件”选项卡,确实看到“web”文件夹中有web\u INF-->类-->家庭作业10-->保留.class。所以看起来可能是#2,但我使用的是netbeans(根本不通过命令行工作…)。。。所以我还是很困惑。您提到的“假设您100%确定您正在运行您认为正在运行的代码”,这很有趣。我正在通过netbeans中的“运行”按钮运行它……可能有什么问题吗?谢谢,againI不做Netbeans,所以我在给出详细说明方面有点受限。至少,尝试“清理”和“重建”项目、服务器、缓存等。即使关闭/重新打开项目或重新启动整个IDE,也应该确保构建中没有任何脏东西。也就是说,您是否能够创建一个servlet并导入/构造保留
类“通常的Java方式”?如果没有,那么你也得到了一个异常,那么这个异常无疑应该包含更多关于真正问题原因的细节,从而也为解决方案提供了更好的线索。K,我在这个过程中遇到了一些其他问题,修复了它们,现在它工作了!谢谢你的帮助——你的回答很好,很有帮助,你的指导把我推向了正确的方向!