Tomcat找不到直接放置在classes文件夹下的类

我有以下JSP:

<%@ page import="foo.*" %>

<html>

<body>

The page count is:

<%=Counter.getCount()%>

</body>

</html>

我的Counter包中有一个类,foo存储在:

C:\ apache-tomcat-6.0.32 \ webapps \ God \ WEB-INF \ classes

并且容器可以从其包中找到类foo

但是,当我尝试直接在\WEB-INF\classes而不是在任何特定的包(例如)下添加其他类文件时foo,则容器找不到该类。

这是怎么引起的,我该如何解决?

回答:

缺省包中的类对于本身位于包中的类是不可见的。你

每当你想将其导入另一类是本身就是一个包里面把类的包装。从技术上讲,当编译JSP文件时,容器将自动生成一个.class文件,该文件本身位于包中。因此,您不能从JSP中的默认包中导入类。

因此,每当您希望能够在任何地方重用一个类时,都必须将其放在具体的包中,而不是在默认包中。作为练习,您自己创建两个类,一个在包装内,另一个不在包装内。现在,在带有包装的包装内,尝试import使用不带包装的包装。您会看到不可能,并且代码也不会编译。servlet容器在“后台”遇到完全相同的问题。

也可以看看:

  • Java教程-课程:软件包

以上是 Tomcat找不到直接放置在classes文件夹下的类 的全部内容, 来源链接: utcz.com/qa/399747.html

回到顶部