0

尝试从我的 Web 应用程序中使用已编译的 JSP,但我不知道如何为我的 确定适当的类名web.xml,我将_db.class文件放在WEB-INF/classes/_db.class

每当我尝试使用/context-root/dbx调用我的应用程序时,我都会得到:

Error 404: javax.servlet.UnavailableException: SRVE0200E: Servlet [com/ibm/_jsp/_db]: 
Could not find required class - class java.lang.ClassNotFoundException: com/ibm/_jsp/_db

我的 web.xml 包含一个基本的 servlet 映射

<servlet>
            <servlet-name>dbx</servlet-name>
            <servlet-class>com/ibm/_jsp/_db</servlet-class>
</servlet>
<servlet-mapping>
            <servlet-name>dbx</servlet-name>
            <url-pattern>/dbx/*</url-pattern>
</servlet-mapping>

如果我更改<servlet-class>为 _db,我会得到:

错误 500:java.lang.NoClassDefFoundError:_db(错误名称:com/ibm/_jsp/_db)

运行/opt/IBM/WebSphere/AppServer/java/bin/javap _db给出

Compiled from "_db.java"
public final class com.ibm._jsp._db extends com.ibm.ws.jsp.runtime.HttpJspBase implements com.ibm.ws.jsp.runtime.JspClassInformation{
    static {};
    public com.ibm._jsp._db();
    public java.lang.String[] getDependants();
    public java.lang.String getVersionInformation();
    public boolean isDebugClassFile();
    public void _jspInit();
    public void _jspService(javax.servlet.http.HttpServletRequest,   
      javax.servlet.http.HttpServletResponse)   
      throws java.io.IOException, javax.servlet.ServletException;
}

如果我尝试将com.ibm._jsp._db用于服务器类,我会得到:

Error 404: javax.servlet.UnavailableException: SRVE0200E: Servlet [com.ibm._jsp._db]: 
Could not find required class - class java.lang.ClassNotFoundException: com.ibm._jsp._db

我的实际 jsp 非常简单,并且不包含类定义。

4

1 回答 1

0

您必须根据WEB-INF/classes其包名称放置类。

试着把你的 Servlet 放在这里:

WEB-INF/classes/com/ibm/_jsp/_db.class
于 2013-03-08T18:00:03.043 回答