2012-03-06 57 views
0

我试图让我的第一个jsp页面运行,它不工作,因为我期望它。 我正在使用Tomcat7 + Eclipse。Jsp类不可见

首先,我创建了我的framework.java文件,并将它放在:\ ROOT \ WEB-INF \ classes \ framework中。

然后我成功编译它,所以我就: \ ROOT \ WEB-INF \类\框架\ Layer1.class,Layer2.class,Layer3.class 然后我做了实际的JSP文件:

<%@ page import="framework.Layer1" %> 
<%= Layer1.write() %> 

现在,即使Eclipse在这一点上给我的警告:类型framework.Layer1不可见。 而当我运行该页面时,它自然会说:类型framework.Layer1不可见。

我在这里做错了什么?我尝试了所有我发现的教程,并且都有同样的问题。 有什么建议吗?

回答

4

你是在正确的道路上,但你需要确保Layer1是一个公共类。

所以,你Layer1必须是这样的:

package framework; 
public class Layer1 { 
    public String write() { 
     return "hello"; 
    } 
} 

相反的:

package framework; 
class Layer1 { // do note the non-use of public keyword here 
} 
+0

是的,我试过,但随后的javac说:framework.java:4:错误:类Layer1是公共的,应该在名为Layer1.java的文件中声明 – 2012-03-06 19:54:03

+0

是的,您需要使用** java使用的**每文件类**一种方法。不幸的是,这不是C#。 :-) – 2012-03-06 19:56:26

+0

但是,这是什么包?我是否需要3个文件包所有包框架,每个包含一个类? – 2012-03-06 19:57:35