我正在调用bean中的实例来继续我在jsp中的会话。 bean位于userData.class的用户文件夹中(因为我将其定义为我的包),我想用
调用JSP的标记:
<jsp:useBean id="user" class="user.UserData" scope="session"/>
但是当我浏览包含上述代码的文件时,我得到了以下内容
错误:
HTTP Status 500 - /SaveName.jsp (line: 1, column: 1) The value for the useBean class attribute user.UserData is invalid.
错误详情:
type Exception report
message /SaveName.jsp (line: 1, column: 1) The value for the useBean class attribute user.UserData is invalid.
description The server encountered an internal error that prevented it from fulfilling this request.
exception
org.apache.jasper.JasperException: /SaveName.jsp (line: 1, column: 1) The value for the useBean class attribute user.UserData is invalid.
org.apache.jasper.compiler.DefaultErrorHandler.jspError(DefaultErrorHandler.java:41)
org.apache.jasper.compiler.ErrorDispatcher.dispatch(ErrorDispatcher.java:275)
org.apache.jasper.compiler.ErrorDispatcher.jspError(ErrorDispatcher.java:107)
org.apache.jasper.compiler.Generator$GenerateVisitor.visit(Generator.java:1317)
org.apache.jasper.compiler.Node$UseBean.accept(Node.java:1178)
org.apache.jasper.compiler.Node$Nodes.visit(Node.java:2376)
org.apache.jasper.compiler.Node$Visitor.visitBody(Node.java:2428)
org.apache.jasper.compiler.Node$Visitor.visit(Node.java:2434)
org.apache.jasper.compiler.Node$Root.accept(Node.java:464)
org.apache.jasper.compiler.Node$Nodes.visit(Node.java:2376)
org.apache.jasper.compiler.Generator.generate(Generator.java:3594)
org.apache.jasper.compiler.Compiler.generateJava(Compiler.java:250)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:356)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:336)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:323)
org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:585)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:363)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:396)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:340)
javax.servlet.http.HttpServlet.service(HttpServlet.java:729)
org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
这是UserData Bean内容:
package user;
public class UserData {
String username;
String email;
int age;
public void setUsername(String value) {
username=value;
}
public void setEmail(String value) {
email = value;
}
public void setAge(int value) {
age = value;
}
public String getUsername() { return username; }
public String getEmail() { return email; }
public int getAge() { return age; }
}
这是调用UserData.class bean的jsp文件:
<jsp:useBean id="user" class="user.UserData" scope="session"/>
<jsp:setProperty name="user" property="*"/>
<html>
<body>
<a href="NextPage.jsp">Continue</a>
</body>
</html>
答案 0 :(得分:0)
你可以验证战争文件在tomcat的webapps文件夹中爆炸后,你可以导航到WEB-INF&gt;&gt; classes文件夹并验证你的UserData类是否存在?如果它不存在则需要构建war文件以将此类包含在WEB-INF的classes文件夹中。
答案 1 :(得分:0)
错误代码为500。这意味着这是服务器问题。
servlet容器找不到那个类。请检查bean类的类文件夹。这是在web-inf文件夹中。
答案 2 :(得分:0)
感谢您的贡献,我得到了答案:
正如@Rahul Yadav所说,Bean应该在WEB-INF&gt;&gt; classes文件夹。
在tomcat中,当我们启动新项目(在webapps文件夹下创建新项目目录[默认为ROOT])时,我们必须在每个项目文件夹中创建WEB-INF文件夹。
假设我将需要Beans(JAVA Classes)的jsp文件放在tomcat服务器的webapp文件夹下的ROOT文件夹中处理:
- 在ROOT文件夹下创建一个WEB-INF文件夹
- 在WEB-INF文件夹下创建类文件夹
- 使用您的包名称(如果需要)在类文件夹
下创建文件夹- 将您的java源文件放在包文件夹
下- 编译这些文件
醇>
所以,你通往豆子的道路将是:
**
path_to_tomcat / webapps / ROOT [您的项目DIR] / WEB-INF / classes / beans
**
就是这样! :)