Почему файлы .java (сервлеты) недоступны для клиента? - PullRequest
0 голосов
/ 04 ноября 2011

В моем веб-приложении есть сервлет, который действует как индекс.Он привязан / сопоставлен с «index.jsp» (index.jsp на самом деле не существует ), но называется «Index.java».Клиент может перейти к index.jsp (который пройдет через сервлет), но если клиент попытается перейти к Index.java напрямую , он скажет, что не может найти ресурс.Почему это так?

Я знаю, что файлы / папки внутри WEB-INF / META-INF недоступны для клиентов, но почему это не файлы .java?Я имею в виду, это имеет смысл (потому что вы НЕ ДОЛЖНЫ обращаться к ним напрямую), но что происходит, чтобы не дать пользователю получить доступ?

Ответы [ 2 ]

2 голосов
/ 04 ноября 2011

Обычно все java-классы компилируются в .class файлы (и могут быть помещены в jar-файл) и помещаются в WEB-INF/classes или WEB-INF/lib и, следовательно, недоступны для общего доступа (так как все в WEB-INF не является общедоступным).

Кроме того, если вы явно не включили исходные коды .java в войну (когда вы строите войну), вы даже не найдете файлы .java (в вашем случае Index.java) в сервлете. контейнер. * +1010 *

1 голос
/ 04 ноября 2011

Исходный код Java не был бы доступен для клиентов, потому что код был бы скомпилирован в .class файлы и в недоступную для клиентов область войны / войны (либо в WEB-INF/classes, либо WEB-INF/lib). 1004 *

...