Как сервер и / или браузер по-разному обрабатывают файлы JSP и JSPF?

Изменить: Этот вопрос был задан в ответ на неправильные замечания, которые я сделал. Не обращайте внимания на.

Я знаю, что JSPF используются для определения фрагментов, которые могут быть включены в JSP.

Помимо этого соглашения, существуют ли различия в том, как сервер (например, Tomcat) или пользовательский агент (например, Firefox, бот Google и т. Д.) Могут обрабатывать файл?

На нашем веб-сайте есть несколько всплывающих окон / диалоговых окон, которые загружаются через AJAX. Содержимое для большинства из них хранится внутри JSPF и упоминается в URL (например, http://www.domain.com/folder/file.jspf). Недавно мы обнаружили, что если всплывающее окно находится внутри JSP, оно будет вести себя по-другому следующим образом:

1) Google будет индексировать его как отдельную страницу.
2) JQuery's $(document).ready(function() {alert('this code is executed')}); никогда не бежит.

2 ответа

Единственный способ создать URL для получения файла jspf - это поместить их в тот же каталог, что и обычные файлы JSP. (Это недопустимо, если вы помещаете их в /WEB-INF/). Поэтому, когда вы это сделаете, это будет зависеть от контейнера, который вы используете. Tomcat извлечет страницу в виде текстового документа. Однако интерфейсный веб-сервер может блокировать эти URL-адреса. Что обозначает расширение.jspf? Как это скомпилировать?

Надеюсь, поможет.

Прежде всего, браузер не обрабатывает файлы JSP и JSPF напрямую.

Вместо этого браузер запрашивает ресурс по URL-адресу, а сервер (в вашем случае Tomcat) отвечает документом в формате HTML.

Да, вы просили .jsp ресурс, но сервер скомпилировал страницу, и Tomcat выдал HTML-вывод в браузер.

В этот момент браузер обрабатывал обычную HTML-страницу.

Я вижу потенциальную проблему с прямым доступом к файлу JSPF через URL. Фрагменты должны быть включены специальной директивой JSP: include, Увидеть Use of Composite View Patterns в кодексе конвенций

Другие вопросы по тегам