我在运行使用java类的jsp文件时遇到问题。 jsp文件名为temp.jsp。我已将我的jsp文件放在tomcat服务器上的ROOT文件夹中 该类位于ROOT / WEB-INF / classes / com / java / tempBean.class
中以下是我的temp.jsp文件中的所有代码:
<jsp:useBean id="report" class="com.java.tempBean" scope="page">
</jsp:useBean>
以下是我的tempBean.class文件中的所有代码(该类为空 - 我现在只是尝试不产生任何错误!)
package com.java;
public class tempBean
{
public tempBean()
{
}
}
当我尝试打开jsp页面时,我收到以下错误(刷新之间我得到第一个或第二个错误)
org.apache.jasper.JasperException: /temp.jsp (line: 1, column: 1) The value for the useBean class attribute com.java.tempBean is invalid.
org.apache.jasper.compiler.DefaultErrorHandler.jspError(DefaultErrorHandler.java:41)
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:1229)
org.apache.jasper.compiler.Node$UseBean.accept(Node.java:1182)
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:475)
org.apache.jasper.compiler.Node$Nodes.visit(Node.java:2376)
org.apache.jasper.compiler.Generator.generate(Generator.java:3485)
org.apache.jasper.compiler.Compiler.generateJava(Compiler.java:249)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:372)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:352)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:339)
org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:601)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:344)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:389)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:333)
javax.servlet.http.HttpServlet.service(HttpServlet.java:722)
OR
exception
org.apache.jasper.JasperException: java.lang.ClassNotFoundException: org.apache.jsp.temp_jsp
org.apache.jasper.servlet.JspServletWrapper.getServlet(JspServletWrapper.java:168)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:356)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:389)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:333)
javax.servlet.http.HttpServlet.service(HttpServlet.java:722)
root cause
java.lang.ClassNotFoundException: org.apache.jsp.temp_jsp
java.net.URLClassLoader$1.run(URLClassLoader.java:200)
java.security.AccessController.doPrivileged(Native Method)
java.net.URLClassLoader.findClass(URLClassLoader.java:188)
org.apache.jasper.servlet.JasperLoader.loadClass(JasperLoader.java:132)
org.apache.jasper.servlet.JasperLoader.loadClass(JasperLoader.java:63)
org.apache.jasper.servlet.JspServletWrapper.getServlet(JspServletWrapper.java:162)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:356)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:389)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:333)
javax.servlet.http.HttpServlet.service(HttpServlet.java:722)
非常感谢任何帮助:)谢谢!
答案 0 :(得分:1)
当我手动将它添加到tomcat服务器时,我的类文件没有被拾取(我可能不得不重新启动服务器以便它接收它但是我不能这样做,因为它不是我的服务器! ),我将我的代码从Eclipse导出为WAR文件并将其放在webapps文件夹中(服务器会自动获取这些文件),现在它可以工作了。
感谢您的帮助:)
答案 1 :(得分:0)
请参阅问题The value for the useBean class attribute ... is invalid
可能不是错误的原因,但Java类名应该始终大写:
package com.java;
public class TempBean
{
public TempBean()
{
}
}