为什么客户端无法访问.java文件(servlet)?

时间:2011-11-04 00:35:19

标签: java-ee glassfish

在我的网络应用程序中,我有一个充当索引的servlet。它绑定/映射到“index.jsp”(index.jsp 实际上不存在),但它被称为“Index.java”。客户端可以转到index.jsp(它将通过servlet),但如果客户端试图直接转到Index.java ,它会说它无法找到资源。这是为什么?

我知道客户端无法访问WEB-INF / META-INF中的文件/文件夹,但为什么不是.java文件?我的意思是,它是有道理的(因为你不应该直接去找他们。)但是发生了什么阻止用户获取访问权?

2 个答案:

答案 0 :(得分:2)

通常,所有java类都编译为.class个文件(可能放在jar中)并放在WEB-INF/classesWEB-INF/lib下,因此无法被公共访问(因为WEB-INF下的所有内容都无法公开访问)。

此外,除非您明确将.java源代码包含在战争中(构建战争时),否则您甚至找不到.java文件(在您的情况下,{{1}在servlet容器中。

答案 1 :(得分:1)

客户端无法访问Java源代码,因为代码将被编译为.class个文件,并且在客户端无法访问的war / ear区域中(WEB-INF/classes或{{} 1}})。