当前位置: 首页 > 知识库问答 >
问题:

在WebSphere中调用预编译的JSP

林建本
2023-03-14

尝试从我的Web应用程序中使用编译的JSP,但我不知道如何为我的web.xml确定合适的类名,我将_db.class文件放在WEB-INF/class/_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

我的网站。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>

如果我更改<代码>

错误500:java。lang.NoClassDefFoundError:\u db(错误名称:com/ibm/\u jsp/\u 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非常简单,不包含类定义。

共有1个答案

蒙勇
2023-03-14

在WEB-INF/classes下,必须根据类的包名放置类。

尝试将Servlet放置在此处:

WEB-INF/classes/com/ibm/_jsp/_db.class
 类似资料:
  • Mpx 支持 CSS 预编译处理,你可以通过在 style 标签上设置 lang 属性,来指定使用的 CSS 预处理器。Mpx 会根据指定的 CSS 预处理器类型,将其编译为浏览器可识别的 CSS 标准代码。 <!-- 使用 stylus --> <style lang="stylus"> .nav width 100px height 80px color #f90

  • 问题内容: 我正在尝试编写一个使用alpine并利用预编译golang的dockerfile。 我正在/ bin / sh /:./go:找不到 它可以在我的ubuntu笔记本电脑上正常工作,所以我不确定这有什么区别。我做了一个快速的谷歌,我找不到任何明显的东西,指出缺少的东西。 问题答案: Alpine是使用MUSL C库构建的。您不能在这种环境下运行为glibc编译的二进制文件。您将需要找到为

  • Handlebars.compile(template, options) 编译一个模版以立即运行。 const template = Handlebars.compile("{{foo}}"); template({}); 支持多种选项以更改模版的执行方式。 data: 设置为 false 以终止 @data 跟踪。 compat: 设置为 true 以允许递归领域查找。 knownHelpe

  • 本文向大家介绍什么是预编译,何时需要预编译:相关面试题,主要包含被问及什么是预编译,何时需要预编译:时的应答技巧和注意事项,需要的朋友参考一下 1、总是使用不经常改动的大型代码体。 2、程序由多个模块组成,所有模块都使用一组标准的包含文件和相同的编译选项。在这种情况下,可以将所有包含文件预编译为一个预编译头。

  • 注:内容翻译自官网文档 Compiler Invocation 当使用--java_out= 命令行标记时,protocol buffer编译器生成java输出。--java_out= 选项的参数是想编译器写java输出的目录。编译器为每个.proto文件输入创建一个单一的.java文件.这个文件包含一个单一的outer class定义,包含一些内嵌类和静态字段,基于.proto文件中的定义。 o

  • 如今的Linux发行版有许多预编译软件, 可以容易地安装. 一个单一的命令可以使用来从一个软件仓库来安装FreeRADIUS. 这个会解决依赖和安装所有需要的包为了展示一个工作的系统. 关于软件包管理系统: http://en.wikipedia.org/wiki/Package_management_system 3种发行版的默认安装将会包含软件仓库包含FreeRADIUS包.