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