如何在jsp页面中导入java类

时间:2014-01-03 12:45:44

标签: java jsp tomcat

Hello每个人都有一个位于webapps / ROOT的jsp页面和一个位于WEB-INF / classes中的java文件。我已经编译了我的java文件并获得了.class文件。现在我想将我的类文件导入jsp页面。为此我创建了一个文件夹“mypackage”并将我的两个(类和java)文件放入其中。之后我尝试导入到jsp文件中。为此我写了下面的代码。 和mypackage在WEB-INF / classes文件夹中。

       <%@ page  import="mypackage.Ps123" %>

这里的ps123是我的班级名字。当我按照代码

      Ps123 p = new Ps123();

我收到了错误

      Only a type can be imported.mypackage.ps123 resolves to a package
      ps123 cannot be resolved to a type

告诉我这段代码有什么问题。如果我不在jsp文件中导入java类。它工作正常。

1 个答案:

答案 0 :(得分:1)

让我们从错误信息开始。

  Only a type can be imported.mypackage.ps123 resolves to a package
  ps123 cannot be resolved to a type

首先要说的是它不是精确的错误信息。相反,你似乎已经手动输入了它......并且有点不对劲。 (我发现很难相信错误消息会被严重打断!)

但假设消息基本上是正确的,那么我们可以推断一些重要的东西。 JSP编译器实际上找到了名为“mypackage.ps123”的 something ,但这不是表示Java类的.class文件。此外,由于编译器认为“mypackage.ps123”是一个包,我们可以推断:

  • 您部署的webapp中的“WEB-INF / classes / mypackage / ps123”是一个目录,或者
  • 之前在类路径中定义了“mypackage.ps123”包;例如通过Tomcat共享库目录中的某些内容。

我能想到的唯一其他解释是你对类名的错误选择是混淆 JSP编译器。如果发生这种情况,那么它就是编译器错误。但修复很简单,更改类名以符合标识符的Java样式规则:类名 总是以大写字母开头。