gpt4 book ai didi

java - JSP - Netbeans 无法使用 session bean

转载 作者:太空宇宙 更新时间:2023-11-04 08:43:59 31 4
gpt4 key购买 nike

已解决:如果您像我一样遇到麻烦,请仔细检查您的构造函数定义!我的出于某种与忍者相关的原因是私有(private)的。

大家好,

我是 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”文件夹下。事实上,我尝试过移动它们,但没有成功。

此外,“user”bean 运行良好,如果我删除上面代码的第二行,就没有问题。

知道如何实现它吗?

谢谢

编辑:这是 UserSessBean 类定义:

package minibay.user;

import java.io.Serializable;

/**
*
* @author Alessandro Artoni <artoale@gmail.com>
*/
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;
}


}

最佳答案

The value for the useBean class attribute minibay.user.UserSessBean is invalid.

这可以归结为以下内容惨败:

UserSessBean userSession = new UserSessBean();

它是否有一个(隐式)公共(public)无参数构造函数?它应该在那里让施工正常进行。还要注意任何(静态)初始化 block 运行时不会抛出运行时异常/错误。不过,您应该已经在服务器日志中看到了这一点作为根本原因。

另请参阅:

关于java - JSP - Netbeans 无法使用 session bean,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4724910/

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