AngularJS: предварительный вызов OPTIONS, предшествующий запросу $ http.post

Прежде всего, не представляет путь к «домашней странице по умолчанию». Он представляет собой имя файла физического файла, содержащегося в папке, которую вы хотите использовать в качестве файла по умолчанию, когда запрашивается папка типа /, /foo/, /foo/bar/ и т. Д.

Таким образом, в JSF 2.x-аромате это будет в основном:


    index.xhtml

Таким образом, если конечный пользователь запрашивает /, и у вас есть /index.xhtml, он будет обслуживаться. Или, если enduser запрашивает /foo, и у вас есть /foo/index.xhtml, тогда он будет обслуживаться и т. Д. Если такого файла нет, тогда будет возвращена ошибка 404.

Теперь вы появляетесь чтобы отобразить ваш FacesServlet на префиксе в /faces/*. Это осталось от JSF 1.0 / 1.1 возрастов и на самом деле не рекомендуется в наши дни. Возможно, вы читали устаревший учебник, ориентированный на JSF 1.x, или плохо поддерживаемый учебник, который был первоначально написан для JSF 1.x, а затем незаметно обновлен для JSF 2.x вместо перезаписывания с нуля.

Этот учебник также, похоже, не объяснил вам некоторые основы сервлетов . А именно, чтобы заставить JSF-компоненты на странице XHTML запускать и генерировать некоторый вывод HTML, FacesServlet необходимо вызвать, когда запрашивается страница XHTML. Когда вы запрашиваете страницу XHTML так /index.xhtml, а FacesServlet отображается на /faces/*, тогда она не будет вызываться. Затем браузер будет извлекать необработанный исходный код JSF без генерируемого вывода HTML. Вы можете увидеть его правой кнопкой мыши, Просмотреть источник в веб-браузере. Вы должны были запросить такую ​​страницу как /faces/index.xhtml, чтобы FacesServlet мог запускать и выводить HTML-вывод, который браузер может понять и представить.

Это не очень хорошо сочетается с файлами приветствия. Это полностью объясняет, почему вы получаете «чистую белую» (пустую) страницу при использовании index.xhtml в качестве приветственного файла (некоторые уступающие веб-браузеры, такие как IE, путают запрашивают диалоговое окно загрузки из-за отсутствия / неправильного типа содержимого на ответ, содержащий исходный исходный код XHTML). FacesServlet просто не вызывался. Просто избавитесь от старомодного шаблона URL /faces/* и используйте шаблон URL-адреса JSF 2.x *.xhtml.


    facesServlet
    *.xhtml

Таким образом, файлы приветствия должны работать, и вы можете просто открыть JSF страниц, напрямую запрашивая его физический URL-адрес без сбоев с виртуальными URL-адресами. Это невозможно в JSF 1.x, потому что это позволяло FacesServlet работать в бесконечном цикле, вызывающем себя и вызывающем переполнение стека.

См. Также:


Что касается этих предупреждений, они не связаны друг с другом, но вполне доступны для поиска.

29
задан shaunlim 21 December 2013 в 00:05
поделиться