如何在jsp页面中导入java类
大家好,我有一个位于webapps/ROOT的jsp页面和一个位于WEB-INF/classes中的java文件。我已经编译了我的java文件和get.class文件。现在我想将我的类文件导入jsp页面。为此,我创建了一个文件夹“mypackage”,并将我的两个(类和java)文件都放在其中。为此,我编写了以下代码。 mypackage位于WEB-INF/classes文件夹中如何在jsp页面中导入java类,java,jsp,tomcat,Java,Jsp,Tomcat,大家好,我有一个位于webapps/ROOT的jsp页面和一个位于WEB-INF/classes中的java文件。我已经编译了我的java文件和get.class文件。现在我想将我的类文件导入jsp页面。为此,我创建了一个文件夹“mypackage”,并将我的两个(类和java)文件都放在其中。为此,我编写了以下代码。 mypackage位于WEB-INF/classes文件夹中 <%@ page import="mypackage.Ps123" %> 我出错了
<%@ page import="mypackage.Ps123" %>
我出错了
Only a type can be imported.mypackage.ps123 resolves to a package
ps123 cannot be resolved to a type
告诉我这个代码有什么问题。如果我不在jsp文件中导入java类。它工作正常。让我们从错误消息开始
Only a type can be imported.mypackage.ps123 resolves to a package
ps123 cannot be resolved to a type
首先要指出的是,这不是确切的错误消息。更确切地说,你似乎是手工输入的。。。而且还弄错了一点。(我发现很难相信错误消息的标点会如此糟糕!)
但是假设信息基本上是正确的,那么我们就可以推断出一些重要的东西。JSP编译器实际上找到了一个名为“mypackage.ps123”的文件,但该文件不是表示Java类的.class文件。此外,由于编译器认为“mypackage.ps123”是一个包,我们可以推断:
- 部署的webapp中的“WEB-INF/classes/mypackage/ps123”是一个目录,或
- “mypackage.ps123”包已在类路径的前面定义;e、 g.通过Tomcat共享库目录中的某个内容
我唯一能想到的另一种解释是,对类名的错误选择使JSP编译器感到困惑。如果发生这种情况,那么这是一个编译器错误。但解决方法很简单,更改类名以符合Java风格的标识符规则:类名应始终以大写字母开头。Java类的包是什么?只是一个建议。类名以大写字母开头。例如Ps123,我会注意的。但它不会给我一个错误的包裹吗?然后,
还有一件事需要考虑:我仍然不相信。现在,错误消息与您的类名称或您在JSP中使用的名称都不匹配!
Only a type can be imported.mypackage.ps123 resolves to a package
ps123 cannot be resolved to a type