#вопросы_с_собеседований
Какие наиболее распространенные задачи выполняются в контейнере сервлетов?
Какие наиболее распространенные задачи выполняются в контейнере сервлетов?
☕️ Поддержка обмена данными. Контейнер сервлетов предоставляет легкий способ обмена данными между веб клиентом (браузером) и сервлетом. Благодаря контейнеру нет необходимости создавать слушателя сокета на сервере для отслеживания запросов от клиента, а так же разбирать запрос и генерировать ответ. Все эти важные и комплексные задачи решаются с помощью контейнера и разработчик может сосредоточиться на бизнес-логике приложения.
☕️ Управление жизненным циклом сервлетов и ресурсов. Начиная от загрузки сервлета в память, инициализации, внедрения методов и заканчивая уничтожением сервлета. Контейнер так же предоставляет дополнительные утилиты, например JNDI, для управления пулом ресурсов.
☕️ Поддержка многопоточности. Контейнер самостоятельно создает новую нить для каждого запроса и предоставляет ей запрос и ответ для обработки. Таким образом сервлет не инициализируется заново для каждого запроса и тем самым сохраняет память и уменьшает время до обработки запроса.
☕️ Поддержка JSP. JSP классы не похожи на стандартные классы джавы, но контейнер сервлетов преобразует каждую JSP в сервлет и далее управляется контейнером как обычным сервлетом.
☕️ Различные задачи. Контейнер сервлетов управляет пулом ресурсов, памятью приложения, сборщиком мусора. Предоставляются возможности настройки безопасности и многое другое.
☕️ Управление жизненным циклом сервлетов и ресурсов. Начиная от загрузки сервлета в память, инициализации, внедрения методов и заканчивая уничтожением сервлета. Контейнер так же предоставляет дополнительные утилиты, например JNDI, для управления пулом ресурсов.
☕️ Поддержка многопоточности. Контейнер самостоятельно создает новую нить для каждого запроса и предоставляет ей запрос и ответ для обработки. Таким образом сервлет не инициализируется заново для каждого запроса и тем самым сохраняет память и уменьшает время до обработки запроса.
☕️ Поддержка JSP. JSP классы не похожи на стандартные классы джавы, но контейнер сервлетов преобразует каждую JSP в сервлет и далее управляется контейнером как обычным сервлетом.
☕️ Различные задачи. Контейнер сервлетов управляет пулом ресурсов, памятью приложения, сборщиком мусора. Предоставляются возможности настройки безопасности и многое другое.
Что выведет программа?
Anonymous Quiz
11%
0 0
13%
0 1
14%
1 1
15%
1 2
19%
Compiler Error
9%
Runtime Error
19%
Ничего из этого
#вопросы_с_собеседований
Как организовать подключение к базе данных, обеспечить журналирование в сервлете?
Как организовать подключение к базе данных, обеспечить журналирование в сервлете?
При работе с большим количеством подключений к базе данных рекомендуется инициализировать их в
Журналирование подключается к сервлету стандартным для логгера способом (например для
servlet context listener
, а также установить в качестве атрибута контекста для возможности использования другими сервлетами.Журналирование подключается к сервлету стандартным для логгера способом (например для
log4j
это может быть property-файл
или XML-конфигурация
) , а далее эта информация используется при настройке соответствующего context listener
.#вопросы_с_собеседований
Какие способы аутентификации доступны сервлету?
Какие способы аутентификации доступны сервлету?
Спецификация
•
•
•
•
сервлетов
определяет четыре типа проверки подлинности:•
HTTP Basic Authentication
- BASIC
. При доступе к закрытым ресурсам появится окно, которое попросит ввести данные для аутентификации.•
Form Based Login
- FORM
. Используется собственная html
форма:•
HTTP Digest Authentication
- DIGEST
. Цифровая аутентификация с шифрованием.•
HTTPS Authentication
- CLIENT-CERT
. Аутентификация с помощью клиентского сертификата.<login-config>
<auth-method>FORM</auth-method>
<form-login-config>
<form-login-page>/login.html</form-login-page>
<form-error-page>/error.html</form-error-page>
</form-login-config>
</login-config>
🧩 5 интересных головоломок и задач, чтобы отвлечься от рутины и немного пошевелить извилинами (выпуск 5)
Читайте новый выпуск еженедельной подборки интересных алгоритмических и логических задач, которые не дадут вам заскучать.
https://proglib.io/sh/3cAQYlGkOo
Читайте новый выпуск еженедельной подборки интересных алгоритмических и логических задач, которые не дадут вам заскучать.
https://proglib.io/sh/3cAQYlGkOo
Все о Java в одном месте👍
Привет!
Меня зовут Денис - я являюсь автором YouTube канала dmdev и java-разработчиком в Google по совместительству.
Можно читать множество книг, а можно подписаться на 1 канал и уже приступить к программированию.
Экономя время и тратя эффективно свои ресурсы.
На канале видео содержат как теорию, так и практику в формате live coding продолжительностью 10-15 минут.
Чему ты научишься?
● Java Core
● SQL
● JDBC
● HTTP. Servlets
● Maven
● JUnit 5
● Groovy
● Gradle
● Hibernate
● Spring - в разработке
После этих курсов обычно устраиваются разработчиком и/или повышают свой уровень до middle/senior🤫
↓
YouTube dmdev
При оформлении спонсорства на канале:
🎁 доступ в закрытый телеграм чат, где я и другие участники помогают с различными вопросами
🎁 купон от IntelliJ IDEA Ultimate на 6 месяцев бесплатного пользования
Также присоединяйся в Instagram
Пиши "java" в direct - и я вышлю тебе java roadmap 🎁
↓
Instagram dmdev
Привет!
Меня зовут Денис - я являюсь автором YouTube канала dmdev и java-разработчиком в Google по совместительству.
Можно читать множество книг, а можно подписаться на 1 канал и уже приступить к программированию.
Экономя время и тратя эффективно свои ресурсы.
На канале видео содержат как теорию, так и практику в формате live coding продолжительностью 10-15 минут.
Чему ты научишься?
● Java Core
● SQL
● JDBC
● HTTP. Servlets
● Maven
● JUnit 5
● Groovy
● Gradle
● Hibernate
● Spring - в разработке
После этих курсов обычно устраиваются разработчиком и/или повышают свой уровень до middle/senior🤫
↓
YouTube dmdev
При оформлении спонсорства на канале:
🎁 доступ в закрытый телеграм чат, где я и другие участники помогают с различными вопросами
🎁 купон от IntelliJ IDEA Ultimate на 6 месяцев бесплатного пользования
Также присоединяйся в Instagram
Пиши "java" в direct - и я вышлю тебе java roadmap 🎁
↓
Instagram dmdev
#вопросы_с_собеседований
Опишите, как обрабатываются JSP страницы, начиная от запроса к серверу, заканчивая ответом пользователю.
Опишите, как обрабатываются JSP страницы, начиная от запроса к серверу, заканчивая ответом пользователю.
Когда пользователь переходит по ссылке на страницу
page.jsp
, он отправляет http-запрос
на сервер GET /page.jsp
. Затем, на основе этого запроса и текста самой страницы, сервер генерирует java-класс
, компилирует его и выполняет полученный сервлет, формирующий ответ пользователю в виде представления этой страницы, который сервер и перенаправляет обратно пользователю.#вопросы_с_собеседований
Расскажите об этапах (фазах) жизненного цикла JSP.
Расскажите об этапах (фазах) жизненного цикла JSP.
Если посмотреть код внутри созданной
Жизненный цикл
•
•
•
•
•
•
•
JSP
страницы, то он будет выглядеть как HTML
и не будет похож на java класс. Конвертацией JSP
страниц в HTML
код занимается контейнер, который так же создает и сервлет для использования в веб приложении.Жизненный цикл
JSP
состоит из нескольких фаз, которыми руководит JSP
контейнер:•
Translation
– проверка и парсинг кода JSP
страницы для создания кода сервлета.•
Compilation
– компиляция исходного кода сервлета.•
Class Loading
– загрузка скомпилированного класса в память.•
Instantiation
– внедрение конструктора без параметра загруженного класса для инициализации в памяти.•
Initialization
– вызов init()
метода объекта JSP
класса и инициализация конфигурации сервлета с первоначальными параметрами, которые указаны в дескрипторе развертывания (web.xml
). После этой фазы JSP
способен обрабатывать запросы клиентов. Обычно эти фазы происходят после первого запроса клиента (т.е. ленивая загрузка), но можно настроить загрузку и инициализацию JSP
на старте приложения по аналогии с сервлетами.•
Request Processing
– длительный жизненный цикл обработки запросов клиента JSP
страницей. Обработка является многопоточной и аналогична сервлетам — для каждого запроса создается новый поток, объекты ServletRequest
и ServletResponse
, происходит выполнение сервис методов.•
Destroy
– последняя фаза жизненного цикла JSP
, на которой её класс удаляется из памяти. Обычно это происходит при выключении сервера или выгрузке приложения.На вебинаре ты узнаешь:
- что необходимо знать об архитектуре, чтобы пройти собеседование на Middle-позицию
- как прокачать софт скилы перед собеседованием
- как знание Docker, Kafka и K8S влияет на твое конкурентное преимущества
- как продать себя на более высокую должность
- получишь чек-лист «Java Junior to Middle»
Спикер вебинара — Андрей Сундуков, Senior Java Developer. Больше 15 лет в IT. Lead в Digital Habits, сооснователь криптовалютного стартапа.
🚀 Участие бесплатное, регистрируйся по ссылке: https://cutt.ly/1TX3fEU
- что необходимо знать об архитектуре, чтобы пройти собеседование на Middle-позицию
- как прокачать софт скилы перед собеседованием
- как знание Docker, Kafka и K8S влияет на твое конкурентное преимущества
- как продать себя на более высокую должность
- получишь чек-лист «Java Junior to Middle»
Спикер вебинара — Андрей Сундуков, Senior Java Developer. Больше 15 лет в IT. Lead в Digital Habits, сооснователь криптовалютного стартапа.
🚀 Участие бесплатное, регистрируйся по ссылке: https://cutt.ly/1TX3fEU
Spring Security in Action (2020)
Автор: Laurentiu Spilca
Количество страниц: 560
Автор показывает, как предотвратить атаки с использованием межсайтовых скриптов и подделки запросов до того, как они нанесут ущерб. Вы начнете с основ, моделируя обновление паролей и добавляя несколько типов авторизации. По мере роста ваших навыков вы адаптируете Spring к новым архитектурам и создадите расширенные конфигурации OAuth2. К концу работы с книгой у вас будет настроенная конфигурация, которая защитит от угроз.
Скачать книгу
Автор: Laurentiu Spilca
Количество страниц: 560
Автор показывает, как предотвратить атаки с использованием межсайтовых скриптов и подделки запросов до того, как они нанесут ущерб. Вы начнете с основ, моделируя обновление паролей и добавляя несколько типов авторизации. По мере роста ваших навыков вы адаптируете Spring к новым архитектурам и создадите расширенные конфигурации OAuth2. К концу работы с книгой у вас будет настроенная конфигурация, которая защитит от угроз.
Скачать книгу
Telegram
Книги для программистов (reserved)
Spring Security in Action (2020)
Автор: Laurentiu Spilca
Автор: Laurentiu Spilca
Сколько строк сможет заполнить пропуск без ошибки компиляции?
Anonymous Quiz
16%
0
11%
1
8%
2
9%
3
7%
4
7%
5
43%
Узнать ответ
#вопросы_с_собеседований
Как можно предотвратить прямой доступ к JSP странице из браузера?
Как можно предотвратить прямой доступ к JSP странице из браузера?
Прямой доступ к директории
/WEB-INF/
из веб-приложения отсутствует. Поэтому JSP-страницы
можно расположить внутри этой папки и тем самым запретить доступ к странице из браузера. Однако, по аналогии с описанием сервлетов, будет необходимо настроить дескриптор развертывания:<servlet>
<servlet-name>Example</servlet-name>
<jsp-file>/WEB-INF/example.jsp</jsp-file>
<init-param>
<param-name>exampleParameter</param-name>
<param-value>parameterValue</param-value>
</init-param>
</servlet>
<servlet-mapping>
<servlet-name>Example</servlet-name>
<url-pattern>/example.jsp</url-pattern>
</servlet-mapping>