Tomcat должен знать, как соединиться с базой данных, таким образом, этому нужен доступ к незашифрованному паролю. Если пароль в зашифрованном, Tomcat должен знать, как дешифровать его, таким образом, Вы только перемещаете проблему где-то в другом месте.
настоящая проблема: кто может получить доступ server.xml
за исключением Tomcat? Решение состоит в том, чтобы дать доступ для чтения к server.xml
только пользователю root, требуя, чтобы Tomcat был запущен с полномочий пользователя root: если злонамеренный пользователь получает полномочия пользователя root в системе, терение пароля базы данных является, вероятно, незначительным беспокойством.
Иначе необходимо ввести пароль вручную при каждом запуске, но это редко - жизнеспособный вариант.
Функция $ (document) .ready
говорит, что не запускать, пока DOM не завершит создание экземпляра - поэтому переместить его в тело после тела можно, если библиотека JQuery загружается первым. Нетрадиционные и некоторые предположения могут больше не быть правильными, но это нормально.
Просто учтите, что файл jQuery JavaScript должен быть загружен перед любым вызовом $ ( ...)
функция.
В. Почему я часто вижу JavaScript написано / включено до закрытия элемент body в (x) HTML-документе?
A - Элементы DOM недоступны с помощью JavaScript, пока браузер не загрузил элементы HTML в DOM. Поместив JavaScript в конец (x) HTML-документ (до закрытия элемент body), вы убедитесь, что скрипт вызывается, как только DOM построен / загружен и готов для манипуляции. Преимущество этого подход заключается в том, что код JavaScript выполняется сразу после того, как DOM построенный и, возможно, до onload.
Новички в JavaScript сбиваются с толку это постоянно, помещая код, который манипулирует DOM в заголовке элемент (x) HTML-документа. Эта вызывает ошибку, потому что DOM имеет еще не построено и поэтому еще не доступен для JavaScript, который перемещает / управляет DOM.
Причина, по которой в этой статье вас просят переместить скрипты в конец, заключается в том, чтобы разрешить загрузку других артефактов первыми. (css и изображения, которые ускорят видимое время рендеринга)
Это потому, что HTTP 1.1 рекомендует загружать только 2 элемента на имя хоста. И вы определенно хотели бы, чтобы ваш файл css был одним из первых загруженных файлов, а не javascript, который может замедлить отображение сайта (просто из-за того, что браузер еще не получил файл css и не уверен что он должен делать с html)
Но если вы использовали google для размещения своего jQuery , то он загружался бы параллельно и исключает любую причину для перемещения его в конец ваших страниц.
В качестве альтернативы. , вы можете настроить второе имя хоста для размещения статического контента (например, css / scripts / images).
Но Google уже проделал за вас тяжелую работу, поэтому имеет смысл использовать его, если он вам подходит. : -)
Используйте ненавязчивый JavaScript (добавление прослушивателей событий к элементам вместо onclik = "..." и т. Д.). Поместите все свои файлы .js внизу тега body, поместив сначала основную библиотеку (в данном случае jQuery), и все будет хорошо. Вы можете использовать такой пакет, как bundle fu
. Вы увидите большой прирост производительности загрузки вашей страницы.
Стандартной практикой является перемещение всех js-файлов в нижнюю часть страницы. Это связано с тем, что когда браузер загружает скрипт, он не создает для этого новый поток, поэтому в основном браузер будет ждать, пока он загрузит скрипт, прежде чем перейти к следующей строке.
Это означает для ваших пользователей что они увидят пустой экран. Намного лучше, если они увидят всю страницу целиком, иначе она не остановится.