在我的网络应用程序中,我有一个充当索引的servlet。它绑定/映射到“index.jsp”(index.jsp 实际上不存在),但它被称为“Index.java”。客户端可以转到index.jsp(它将通过servlet),但如果客户端试图直接转到Index.java ,它会说它无法找到资源。这是为什么?
我知道客户端无法访问WEB-INF / META-INF中的文件/文件夹,但为什么不是.java文件?我的意思是,它是有道理的(因为你不应该直接去找他们。)但是发生了什么阻止用户获取访问权?
答案 0 :(得分:2)
通常,所有java类都编译为.class
个文件(可能放在jar中)并放在WEB-INF/classes
或WEB-INF/lib
下,因此无法被公共访问(因为WEB-INF
下的所有内容都无法公开访问)。
此外,除非您明确将.java
源代码包含在战争中(构建战争时),否则您甚至找不到.java
文件(在您的情况下,{{1}在servlet容器中。
答案 1 :(得分:1)
客户端无法访问Java源代码,因为代码将被编译为.class
个文件,并且在客户端无法访问的war / ear区域中(WEB-INF/classes
或{{} 1}})。