【问题标题】:Java/JSP WEB-INF/classes can't importJava/JSP WEB-INF/类无法导入
【发布时间】:2010-12-14 14:22:09
【问题描述】:

自从我不得不做一些 Java/JSP 以来已经有一段时间了......

我在 WEB-INF/classes/MyClass.java 中有一个 java 类 在 Netbeans 中构建成功,我可以在 classes 文件夹中看到 MyClass.class。

在我的jsp页面中,我有

<%@ page import="MyClass" %>

Tomcat 说无法解析导入...

我尝试将 MyClass 放入一个包中(WEB-INF/com/MyClass),然后将该包导入我的 Jsp 文件中。导入不再抛出错误,但我无法实例化 MyClass 对象,表示类型未解析...

我在这里做错了什么..?

感谢所有帮助! :)

【问题讨论】:

    标签: java jsp


    【解决方案1】:
    WEB-INF/classes/MyClass.java 
    

    让我猜你正在使用默认包,这根本不是一个好习惯。尝试将你的类分配给一个包并根据它进行导入。

    执行以下操作:

    package myPackage;
    
    class myClass
    {
    ...
    }
    

    然后:

    <%@ page import="myPackage.myClass" %>
    

    【讨论】:

      【解决方案2】:

      .class 文件必须放在 WEB-INF 下的 classes 文件夹中。 因此,MyClass.class 的位置必须是 WEB-INF/classes/com/(如果 com 是一个包)。

      <%
       // Instantiate a MyClass
      
       com.MyClass obj=new com.MyClass();
      
      %>
      

      <%@ page import="com.MyClass" %>
      <%
         MyClass obj=new MyClass();
      %>
      

      【讨论】:

        【解决方案3】:

        MyClass 在什么包中?如果是默认包那么你可以把类文件放在

        WEB-INF/classes
        

        如果它在一个包中,则使用类下的包目录层次结构

        【讨论】:

          【解决方案4】:

          天哪,我发现我的错误......

          Netbeans 没有将 lib 文件复制到正确的文件夹,我的 jsp 页面正在更新,所以看起来所有文件都被复制了,但实际上 MyClass.class 不在文件夹中...

          感谢您的帮助!

          【讨论】:

          • 是的。 Netbeans 将类保存在构建文件夹中。如果您使用 netbeans,我建议您从中获取战争并使用 tomcat 解压缩战争(如果该选项设置为 true,则在重新启动时,tomcat 会自动解压缩)。那么你就不用担心复制类文件了。
          • 是的,这就是我现在正在做的事情,使用战争,一切都很完美!感谢大家的帮助
          猜你喜欢
          • 1970-01-01
          • 2014-08-17
          • 2012-02-15
          • 1970-01-01
          • 2011-11-24
          • 2012-03-03
          • 1970-01-01
          • 2013-02-20
          • 2018-02-04
          相关资源
          最近更新 更多