【问题标题】:Javabean Where to put the bean class file?Javabean bean 类文件放在哪里?
【发布时间】:2025-12-25 04:45:11
【问题描述】:

我有一个用于从 Web 表单收集用户数据的 javabean 文件。 (UserData.java)

这个文件被编译并放在一个名为user的包下 (我把这个类放在webapps\ROOT\WEB-INF\classes\user下)

然后在特定的 html 页面中,我允许用户输入他们的姓名、电子邮件等。 当用户单击提交按钮时,他们将转到“/process.jsp”,其中前两个语句是:

<jsp:useBean id="user" class="user.UserData" scope="session" />
<jsp:setProperty name="user" property="*" />

但它会抛出:

org.apache.jasper.JasperException: /process.jsp(1,1) The value for the useBean class attribute user.UserData is invalid.

请注意,我的 UserData 是一个公共类,getter 和 setter 方法是正确的。

谁能帮忙??谢谢!

【问题讨论】:

    标签: java


    【解决方案1】:

    几点:

    1. 您的 UserData 应该有一个无参数构造函数,虽然默认情况下它存在,但如果提供了参数化构造函数,则必须显式提供它。
    2. 包装一模一样

      打包用户; 公共类用户数据 {

      }

    而不是

    package User;
    public class UserData {
    
    }
    

    3。您的类已正确编译,不包含任何编译错误。

    【讨论】:

    • 1.是的。 UserData 有无参数构造函数 2。是的。 package user,不是package User 3. 没有错误
    • 您的 jsp 是否也是 ROOT 或任何其他 webapp 的一部分?