0

私はjspが初めてで、jspとBeanについて質問があります。

次の Java ファイルを Bean として作成し、コンパイルして、Java ファイルとクラス ファイルをC:\Program Files\Apache Software Foundation\Tomcat 7.0\webapps\jspfiles\WEB-INF\classesフォルダーに保存しました。

package test;

public class Hello
{
private String str;

    public void setStr (String value)
    {
        str = value;
    }

    public String getStr ()
    {
        return str;
    }
}

次のコードを含む私の JSP ファイル test.jsp は、C:\Program Files\Apache Software Foundation\Tomcat 7.0\webapps\jspfilesフォルダーにあります。

<!DOCTYPE html>
<%@ page contentType="text/html;charset=windows-1252"%>

<jsp:useBean id="test" class="test.Hello" scope="session"/>

test.jsp ファイル (http://localhost:8082/jspfiles/test.jsp) を開くと、次のエラーが表示されます。

HTTP Status 500 - /test.jsp (line: 4, column: 0) The value for the useBean class attribute test.Hello is invalid.

type Exception report

message /test.jsp (line: 4, column: 0) The value for the useBean class attribute test.Hello is invalid.

description The server encountered an internal error that prevented it from fulfilling this request.

exception

org.apache.jasper.JasperException: /test.jsp (line: 4, column: 0) The value for the useBean class attribute test.Hello is invalid.
    org.apache.jasper.compiler.DefaultErrorHandler.jspError(DefaultErrorHandler.java:42)
    org.apache.jasper.compiler.ErrorDispatcher.dispatch(ErrorDispatcher.java:408)
    org.apache.jasper.compiler.ErrorDispatcher.jspError(ErrorDispatcher.java:149)
    org.apache.jasper.compiler.Generator$GenerateVisitor.visit(Generator.java:1234)
    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:3490)
    org.apache.jasper.compiler.Compiler.generateJava(Compiler.java:250)
    org.apache.jasper.compiler.Compiler.compile(Compiler.java:373)
    org.apache.jasper.compiler.Compiler.compile(Compiler.java:353)
    org.apache.jasper.compiler.Compiler.compile(Compiler.java:340)
    org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:646)
    org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:357)
    org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:390)
    org.apache.jasper.servlet.JspServlet.service(JspServlet.java:334)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:728)

note The full stack trace of the root cause is available in the Apache Tomcat/7.0.34 logs.

上記の何が間違っていますか?

4

1 に答える 1

1

あなたは良いと呼ばれるパッケージを持っていますtest。クラス ファイルは、パッケージ構造と一致するディレクトリにある必要があります。この場合、call の下にディレクトリを作成しclasses、そこにtest配置Hello.classします。

WEB-INF/classes/test/Hello.class
于 2012-12-24T06:42:22.167 に答える