解决:如果您像我一样遇到麻烦,请仔细检查您的构造函数定义!
我的是出于某些忍者释放的原因而私有的。
嗨,大家好,
我是NetBeans-JSP编程的新手(我对PHP很有信心)
嗨,在“ doLogin.jsp”中有以下说明:
...
<jsp:useBean scope="request" id="user" class="minibay.user.LoginBean" />
<jsp:useBean scope="session" id="userSession" class="minibay.user.UserSessBean" />
...
当我运行应用程序并转到页面时,我收到此错误:
org.apache.jasper.JasperException: /doLogin.jsp(12,0) The value for the useBean class attribute minibay.user.UserSessBean 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:1220)
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:3416)
org.apache.jasper.compiler.Compiler.generateJava(Compiler.java:231)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:347)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:327)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:314)
org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:589)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:317)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:313)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:260)
javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
org.netbeans.modules.web.monitor.server.MonitorFilter.doFilter(MonitorFilter.java:393)
实际上,该类位于“ MiniBay / java / minibay / user”下(其中MiniBay是项目根目录)
我在其他文章中已经读到,我的课程应该位于“ WEB-INF”文件夹下。
实际上,ii尝试不成功地移动它们。
此外,如果删除上面代码的第二行,那么“用户” bean也可以正常工作。
关于如何解决问题的任何想法?
谢谢
编辑:这是UserSessBean类定义:
package minibay.user;
import java.io.Serializable;
/**
*
* @author Alessandro Artoni <[email protected]>
*/
public class UserSessBean implements Serializable{
private boolean loggedIn;
private User user;
private UserSessBean(){
}
public User getUser() {
return user;
}
public void setUser(User user) {
this.user = user;
}
public boolean isLoggedIn() {
return loggedIn;
}
public void setLoggedIn(boolean loggedIn) {
this.loggedIn = loggedIn;
}
}
最佳答案
useBean类属性minibay.user.UserSessBean的值无效。
可以归结为以下内容失败了:
UserSessBean userSession = new UserSessBean();
它有一个(隐式的)公共的无参数构造函数吗?应该在那里进行施工。还请注意,任何(静态)初始化块都可以运行,而不会引发运行时异常/错误。但是,您应该已经看到服务器日志是根本原因。
也可以看看:
Javabeans specification-这指定Javabean类的外观