Почему не рекомендуется использовать JavaScript в JSP? Одно из объяснений, которое я могу придумать, заключается в том, что отключение этой функции в браузере остановит выполнение кода. Есть ли какая-то другая причина?
проголосовано против - подобные вопросы должны содержать ссылки на любое подобное утверждение.
Вы, возможно, думаете об утверждении, что вам не следует использовать Ява в JSP? Считается лучшей практикой хранить бизнес-логику Java в сервлетах / отдельных классах и помещать только отображаемую информацию / html / js в файл jsp.
@Alnitak - не могли бы вы уточнить




JSP - это технология на стороне сервера. То есть - Сервер анализирует / компилирует всю информацию, а затем отправляет ее клиенту (то есть вашему браузеру). А потом..
Если полученные данные содержат ЛЮБОЙ javascript, тогда браузер интерпретирует их в своей собственной виртуальной машине javascript, и к тому времени сервер уже давно забыт, поскольку HTTP является протоколом без сохранения состояния.
Учитывая «не рекомендовать JS в сети», я бы не стал об этом беспокоиться. Большинство сайтов широко используют JS, поэтому отключение его на стороне клиента сделает их практически бесполезными.
Afaik, нет проблем с использованием javascript в jsp, и многие сайты его используют. Особенно, если ваш сайт представляет собой веб-приложение, вы должны использовать воля одновременно. Они полностью независимы. Вы просто должны убедиться, что то, для чего вы их используете, подходит.
Что касается отключения javascript в браузере, делающего сайт непригодным для использования, это верно всякий раз, когда вы используете javascript, с jsp или без него.
Если у вас много клиентов, может быть хорошей идеей провести вычисления на клиентах с помощью JavaScript. Если вы делаете все на сервере, вы просто потратите впустую многие вычислительные мощности, предоставляемые клиентскими браузерами, и преимущество Java в скорости будет напрасным, если слишком много клиентов будут загружать сервер. (Спасибо @Subtenante в комментариях за указание на это!).
Но с другой стороны, Java, запущенная на сервере, быстрее, чем JavaScript на клиенте, и не страдает от избыточного кода на клиенте, для проверки того, какой браузер запускает клиент.
Тем не менее, как указывалось trex, у JavaScript есть свои применения. Поскольку он работает на клиенте, он может, например, проверять поля формы перед отправкой на сервер.
Java быстрее, чем JS, но у вас один сервер и может быть МНОГО клиентов. Тяжелые функции могут показать прирост производительности, если они оставлены на усмотрение клиента, избавляя от этого сервер.
Спасибо за комментарий. Я согласен с вами, и внес поправки в свой ответ. Сегодня я чувствую, что мне не особо нравится мой ответ. Если бы я мог, я бы удалил свой ответ и попросил спрашивающего выбрать другой из приведенных ниже :) Но я надеюсь, что теперь вы согласны с моим ответом :)
Я знаю, что это очень старый вопрос, но я думал, что все равно отвечу. Я думаю, что вам следует использовать javascript в этот текущий период времени, поскольку он обеспечивает очень богатый пользовательский интерфейс, а с помощью js-библиотек, таких как jQuery (мой личный фаворит), прототип и mootools, стало очень легко интегрировать javascript в ваше приложение с небольшими усилиями.
Если вы правильно спроектируете свое приложение, вы можете добавить javascript, который обогатит пользовательский опыт (и может упростить им использование вашего сайта / приложения) без дополнительных затрат на сервер и с минимальными усилиями.
Однако ваш сайт не должен полагаться на javascript для работы, поскольку браузер пользователя может не поддерживать его.
Javascript должен быть ненавязчивым и предоставлять более богатый опыт тем пользователям, которые его поддерживают.
Вот хорошая статья о пользовательском интерфейсе и изящном обновлении вместо проектирования с учетом сбоя браузера пользователя. http://realtech.burningbird.net/javascript/accessibility/gracefully-upgrading
Он должен иметь в виду «не использовать скриптлеты java», что находится между <%%>.
Самая большая причина - ремонтопригодность и отладка; скриптлеты все усложняют и то и другое.
С другой стороны, если вы реализуете библиотеки тегов, вы можете извлечь любую логику в реальный класс java, который легко отлаживать, и вы все равно сможете открывать вещи в визуальном редакторе xml / html, поскольку библиотеки тегов являются допустимым xml. состав.
Теперь делать проверку на стороне клиента (в javascript) - плохая идея. Пользователи могут отключить javascript или даже получить прямой доступ к URL-адресу, чтобы обойти проверку, которая откроет вам доступ к эксплойтам.
«Сейчас делать проверку на стороне клиента (в javascript) - плохая идея». Плохо проверять Только на стороне клиента. Однако выполнение этого в добавление улучшает скорость отклика (нет необходимости ждать, пока сервер отклонит его, и снизит нагрузку на сервер).
Я бы не согласился с этим.
Это очень хорошее мышление. Надеюсь, что нет другой причины, кроме этой.