簡體   English   中英

JSP頁面不起作用:java.lang.ClassNotFoundException:org.apache.jsp和useBean類屬性的值無效

[英]JSP Page Won't Work: java.lang.ClassNotFoundException: org.apache.jsp and The value for the useBean class attribute is invalid

我在運行使用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)

要么

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)

任何幫助都非常感謝:)謝謝!

可以肯定的是,當我手動將其添加到tomcat服務器時,該類文件沒有被拾取(我可能必須重新啟動服務器才能將其拾取,但由於它不是我的服務器,所以我不能這樣做!),我從Eclipse將我的代碼導出為WAR文件,並將其放在webapps文件夾中(服務器會自動選擇這些文件),現在它可以工作了。

謝謝你的幫助 :)

查看問題useBean類屬性的值...無效

可能不是導致錯誤的原因,但是Java類名應始終大寫:


package com.java;

public class TempBean
{
    public TempBean()
    {
    }
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM