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-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 は非常に単純で、クラス定義は含まれていません。