Почему не рекомендуется использовать JavaScript в JSP?

Почему не рекомендуется использовать JavaScript в JSP? Одно из объяснений, которое я могу придумать, заключается в том, что отключение этой функции в браузере остановит выполнение кода. Есть ли какая-то другая причина?

Это очень хорошее мышление. Надеюсь, что нет другой причины, кроме этой.

Warrior 29.11.2008 10:59

проголосовано против - подобные вопросы должны содержать ссылки на любое подобное утверждение.

Alnitak 29.11.2008 11:43

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

mtruesdell 29.11.2008 17:11

@Alnitak - не могли бы вы уточнить

Omnipotent 01.12.2008 08:10
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
В компьютерном программировании биты играют важнейшую роль в представлении и манипулировании данными на двоичном уровне. Побитовые операции...
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Приходилось ли вам сталкиваться с требованиями, в которых вас могли попросить поднять тревогу или выдать ошибку, когда метод Java занимает больше...
Полный курс Java для разработчиков веб-сайтов и приложений
Полный курс Java для разработчиков веб-сайтов и приложений
Получите сертификат Java Web и Application Developer, используя наш курс.
2
4
1 807
5
Перейти к ответу Данный вопрос помечен как решенный

Ответы 5

JSP - это технология на стороне сервера. То есть - Сервер анализирует / компилирует всю информацию, а затем отправляет ее клиенту (то есть вашему браузеру). А потом..

Если полученные данные содержат ЛЮБОЙ javascript, тогда браузер интерпретирует их в своей собственной виртуальной машине javascript, и к тому времени сервер уже давно забыт, поскольку HTTP является протоколом без сохранения состояния.

Учитывая «не рекомендовать JS в сети», я бы не стал об этом беспокоиться. Большинство сайтов широко используют JS, поэтому отключение его на стороне клиента сделает их практически бесполезными.

Afaik, нет проблем с использованием javascript в jsp, и многие сайты его используют. Особенно, если ваш сайт представляет собой веб-приложение, вы должны использовать воля одновременно. Они полностью независимы. Вы просто должны убедиться, что то, для чего вы их используете, подходит.

Что касается отключения javascript в браузере, делающего сайт непригодным для использования, это верно всякий раз, когда вы используете javascript, с jsp или без него.

Ответ принят как подходящий

Если у вас много клиентов, может быть хорошей идеей провести вычисления на клиентах с помощью JavaScript. Если вы делаете все на сервере, вы просто потратите впустую многие вычислительные мощности, предоставляемые клиентскими браузерами, и преимущество Java в скорости будет напрасным, если слишком много клиентов будут загружать сервер. (Спасибо @Subtenante в комментариях за указание на это!).

Но с другой стороны, Java, запущенная на сервере, быстрее, чем JavaScript на клиенте, и не страдает от избыточного кода на клиенте, для проверки того, какой браузер запускает клиент.

Тем не менее, как указывалось trex, у JavaScript есть свои применения. Поскольку он работает на клиенте, он может, например, проверять поля формы перед отправкой на сервер.

Java быстрее, чем JS, но у вас один сервер и может быть МНОГО клиентов. Тяжелые функции могут показать прирост производительности, если они оставлены на усмотрение клиента, избавляя от этого сервер.

glmxndr 24.07.2009 16:59

Спасибо за комментарий. Я согласен с вами, и внес поправки в свой ответ. Сегодня я чувствую, что мне не особо нравится мой ответ. Если бы я мог, я бы удалил свой ответ и попросил спрашивающего выбрать другой из приведенных ниже :) Но я надеюсь, что теперь вы согласны с моим ответом :)

Johannes Schaub - litb 24.07.2009 17:55

Я знаю, что это очень старый вопрос, но я думал, что все равно отвечу. Я думаю, что вам следует использовать 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) - плохая идея». Плохо проверять Только на стороне клиента. Однако выполнение этого в добавление улучшает скорость отклика (нет необходимости ждать, пока сервер отклонит его, и снизит нагрузку на сервер).

Johannes Schaub - litb 24.07.2009 21:19

Я бы не согласился с этим.

Clay Mitchell 27.07.2009 18:58

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