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

Jakarta ee 为什么客户端无法访问.java文件(servlet)?,jakarta-ee,glassfish,Jakarta Ee,Glassfish,在我的web应用程序中,我有一个servlet作为索引。它被绑定/映射到“index.jsp”(index.jsp实际上并不存在),但它被称为“index.java”。客户机可以转到index.jsp(它将通过servlet),但是如果客户机试图直接转到index.java,它会说它找不到资源。为什么会这样 我知道客户端无法访问WEB-INF/META-INF中的文件/文件夹,但为什么.java文件不能访问呢?我的意思是,这是有道理的(因为你不应该直接访问它们。)但是发生了什么事情来阻止用户访问

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


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

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


此外,除非您明确地将
.java
源代码包含到war中(当您构建war时),否则您甚至不会在servlet容器中找到
.java
文件(在您的例子中,是
Index.java
)。

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


此外,除非您明确地将
.java
源代码包含到war中(当您构建war时),否则您甚至找不到
.java
文件(在您的例子中是
Index.java
)在servlet容器中。

客户端将无法访问Java源代码,因为代码将被编译成
.class
文件,并且位于war/ear中客户端无法访问的区域(在
WEB-INF/classes
WEB-INF/lib
中).

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

谢谢,这很有意义!很高兴这有帮助。考虑接受答案如果它回答/解决你的问题当然,我只需要等待最少的时间来接受一个答案:谢谢,这很有意义!很高兴这有帮助。考虑接受答案如果它回答/解决你的问题当然,我只需要等待最少的时间来接受答案: