gpt4 book ai didi

jsp - 贾斯珀异常 : The value for the useBean class attribute is invalid

转载 作者:行者123 更新时间:2023-12-04 03:02:37 24 4
gpt4 key购买 nike

org.apache.jasper.JasperException: /index.jsp(1,1) The value for the useBean class attribute com.b5 is invalid.
org.apache.jasper.compiler.DefaultErrorHandler.jspError(DefaultErrorHandler.java:40)
org.apache.jasper.compiler.ErrorDispatcher.dispatch(ErrorDispatcher.java:407)
org.apache.jasper.compiler.ErrorDispatcher.jspError(ErrorDispatcher.java:148)
org.apache.jasper.compiler.Generator$GenerateVisitor.visit(Generator.java:1272)
org.apache.jasper.compiler.Node$UseBean.accept(Node.java:1178)
org.apache.jasper.compiler.Node$Nodes.visit(Node.java:2361)
org.apache.jasper.compiler.Node$Visitor.visitBody(Node.java:2411)
org.apache.jasper.compiler.Node$Visitor.visit(Node.java:2417)
org.apache.jasper.compiler.Node$Root.accept(Node.java:495)
org.apache.jasper.compiler.Node$Nodes.visit(Node.java:2361)
org.apache.jasper.compiler.Generator.generate(Generator.java:3426)
org.apache.jasper.compiler.Compiler.generateJava(Compiler.java:216)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:332)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:312)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:299)
org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:586)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:317)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:342)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:267)
javax.servlet.http.HttpServlet.service(HttpServlet.java:717)

谁能解释这个问题的原因和解决方案?

最佳答案

The value for the useBean class attribute com.b5 is invalid.

So you have a

<jsp:useBean id="b5" class="com.b5" />

当以下发生的“幕后”失败时,此异常是典型的:
com.b5 b5 = new com.b5();

除了应该把它放在一个包中(你这样做是正确的)之外,bean 本身应该是一个 public类并有一个(隐式) public无参数构造函数。 IE。
package com;

public class b5 {

public b5() {
// Default constructor is optional when there are no other constructors.
}
}

通常这个构造函数已经存在,但是每当你添加其他带有其他参数的构造函数时,它就会被隐藏。然后,您需要自己明确添加它。
package com;

public class b5 {

public b5(String argument) {
// Non-default constructor.
}

public b5() {
// You need to explicitly add a default constructor.
}
}

另一个可能的原因是在运行时类路径中找不到 bean 类。如果这是你自己的 bean,那么确保它的 class文件位于 /WEB-INF/classes/com/b5.class .还要确保完全限定名称 com.b5从字面上看是正确的,它区分大小写。然后,您应该在堆栈跟踪中进一步查找问题的确切原因。前往 root causecaused by迹线底部的部分。

也就是说(与实际问题无关),类名 b5是一个相当糟糕的选择。它应该是一个以大写开头的合理名称,例如 User , Product , Order等。此外,使用 <jsp:useBean>而不是基于 servlet 的 Controller 是一种糟糕的做法。如果您不熟悉 servlet,请从 servlets wiki page 开始.

关于jsp - 贾斯珀异常 : The value for the useBean class attribute is invalid,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3024507/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com