Java на стороні сервера. Глибоко про Servlet API та обробку HTTP запитів 🔥

  Рет қаралды 5,794

Bobocode

Bobocode

Күн бұрын

👉 Приєднуйся до Bobocode Community: www.bobocode.com/
____________________________________________
Patreon: / bobocode
GitHub: github.com/bobocode-projects
Telegram: t.me/bobocode​
LinkedIn: bit.ly/2RWPQF5
Twitter: bit.ly/3vaQiOl
Тарас в LinkedIn: bit.ly/2ElWg8J
Тарас в Twitter: bit.ly/33Pmuwg
____________________________________________
13-те заняття тренувальної програми Ultimate Enterprise Java (2021).
УВАГА! Відеозапис не містить активної частини заняття.
00:00 - Нарізка основних моментів
03:09 - Початок
03:30 - Платформи для бек-енд розробки
04:56 - Що таке Java EE (Jakarta EE)?
08:09 - Основні інструменти для типових задач
13:20 - Як порівнювати і вибирати технології?
17:06 - Що будуть використовувати в майбутньому?
18:00 - Сервлети
18:09 - Servlet API vs. Servlet Container
20:00 - Обробка HTTP запитів на Servlet API
22:46 - Обробка GET запиту
24:00 - Як задеплоїти код в Tomcat?
29:10 - Завдання 1: послати HTTP-запит вручну через Java сокет
32:18 - Як працює сервлет контейнер під капотом?
34:08 - Рішення до Завдання 1
37:39 - Як прочитати HTTP херед через Servet API?
38:58 - Завдання 2: додати до запиту хедер
42:26 - Рішення до Завдання 2
47:58 - Як створити сесію через Servlet API?
53:00 - 🔥 Завдання 3: вручну реалізувати логіку сесії при відправці HTTP запиту
58:32 - Рішення до Завдання 3
01:01:04 - Деталі роботи сесії в серветах
01:01:52 - Як прочитати cookie через Servlet API?
01:04:00 - Як додати cookie до відповіді?
01:09:32 - Як прочитати тіло POST запиту?
01:12:02 - HTTP клієнт в Intellij IDEA
01:18:42 - Для чого вчити Servlet API?
#opensource #java #education

Пікірлер: 18
@Bobocode
@Bobocode 2 жыл бұрын
👉 Навчання від Bobocode: bit.ly/3IRrJhj
@viktors.4844
@viktors.4844 2 жыл бұрын
Дякую за відео 😊 з нетерпінням чекаю на головне, на Спрінг.
@user-nq4bt9lm2d
@user-nq4bt9lm2d Жыл бұрын
Дякую за відео!
@feoktant
@feoktant 2 жыл бұрын
Заняття дуже класне, позгадував старі часи, дякую) Писав сервлети коли вони конфігурувалися в xml. ІМХО, не зовсім вдале АПІ: окрім HttpServlet великого розповсюдження не отримало, та й HttpServlet обгорнули і забули. Потоконебезпечні. Без сервлет контейнеру запустити неможливо, питання тестів відкрите. Абстракція, що request і response одразу мають у собі io виглядає як порушення принципів SOLID... Дуже багато складості( Замість бінес логіки думаєш чи є фільтр перед сервлетом. Але це основа сьогоднішньої Java. Ідея, що веб сервер можна абстрагувати до функції HttpRequest -> HttpResponse без IO потім сильно травмує.
@viktors.4844
@viktors.4844 2 жыл бұрын
Декілька років тому також конфігурував через XML. Потрібно було зробити концігурацію проекту та змапувати в XML наші запроси на наші класи, кожен клас щось там наслідував й потрібно було перегрузити ґет і пост запроси. Один клас на один юрл. І все це на JSP - Java server page. Це вже після того як я дізнався що існує Томкат, а до цього мучився з ґлассфіш (який майже по документації неможна було натягнути на мою ІДЄ) і Пайяра. Як згадаю яка біль, одна за іншою а потім ще.. Як людям повезло коли є хтось(ментор) що бодай скаже "читай туди".
@feoktant
@feoktant 2 жыл бұрын
@@viktors.4844 Make jar, not war!)
@Bobocode
@Bobocode 2 жыл бұрын
00:00 - Нарізка основних моментів 03:09 - Початок 03:30 - Платформи для бек-енд розробки 04:56 - Що таке Java EE (Jakarta EE)? 08:09 - Основні інструменти для типових задач 13:20 - Як порівнювати і вибирати технології? 17:06 - Що будуть використовувати в майбутньому? 18:00 - Сервлети 18:09 - Servlet API vs. Servlet Container 20:00 - Обробка HTTP запитів на Servlet API 22:46 - Обробка GET запиту 24:00 - Як задеплоїти код в Tomcat? 29:10 - Завдання 1: послати HTTP-запит вручну через Java сокет 32:18 - Як працює сервлет контейнер під капотом? 34:08 - Рішення до Завдання 1 37:39 - Як прочитати HTTP херед через Servet API? 38:58 - Завдання 2: додати до запиту хедер 42:26 - Рішення до Завдання 2 47:58 - Як створити сесію через Servlet API? 53:00 - Завдання 3: вручну реалізувати логіку сесії при відправці HTTP запиту 🔥 58:32 - Рішення до Завдання 3 01:01:04 - Деталі роботи сесії в серветах 01:01:52 - Як прочитати cookie через Servlet API? 01:04:00 - Як додати cookie до відповіді? 01:09:32 - Як прочитати тіло POST запиту? 01:12:02 - HTTP клієнт в Intellij IDEA 01:18:42 - Для чого вчити Servlet API?
@feoktant
@feoktant 2 жыл бұрын
HttpServletRequest - ось тут Річ Хікі дуже круто тролить його) kzfaq.info/get/bejne/l7l1hMmis7-ycZc.html
@vermilinguas
@vermilinguas 2 жыл бұрын
Привіт! Порекомендуй, будь-ласка, книгу, яка допоможе краще розібратись з WeB в java (як працюють http запити, і т.п.).
@Bobocode
@Bobocode 2 жыл бұрын
Як варіант: amzn.to/3OH8PMI
@vermilinguas
@vermilinguas 2 жыл бұрын
@@Bobocode вдячний :)
@Beetle_in_the_Anthill
@Beetle_in_the_Anthill Жыл бұрын
Жаль класичну Java ee інструмент це хороший в деяких моментах навіть цікавіший ніж Spring але маємо, що маємо
@Bobocode
@Bobocode Жыл бұрын
Є багато цікавого. Ми не можемо все розбирати 😉
@Beetle_in_the_Anthill
@Beetle_in_the_Anthill Жыл бұрын
@@Bobocode я в загальному з часом ринок топче те що дало в певний момент слабину
@rostyslavb1569
@rostyslavb1569 Жыл бұрын
Цікаві уроки!
@NikitaMalov
@NikitaMalov Жыл бұрын
Привіт! Не можу відправити body через socket. Витратив вже не одну годину. Буду вдячний за будь-яку допомогу.Ось код try(Socket socket = new Socket(InetAddress.getLocalHost().getHostAddress(),8080); PrintWriter bufferedWriter = new PrintWriter(new OutputStreamWriter(socket.getOutputStream())); Stream lines = new BufferedReader(new InputStreamReader(socket.getInputStream())).lines(); ) { bufferedWriter.println("POST /message HTTP/1.1"); bufferedWriter.println("Content-type: application/json"); bufferedWriter.println("Host: " + InetAddress.getLocalHost().getHostAddress()); bufferedWriter.println(); bufferedWriter.println("{\"name\" :\"Nikita\",\"message\": \"porosetko\"}"); // bufferedWriter.println("name=Nikita&message=porosetko"); bufferedWriter.println(); bufferedWriter.flush(); lines.forEach(System.out::println); } catch (IOException e) { throw new RuntimeException(e); } На сервері отримую пусте тіло запросу. Якщо відправляти запрос через IDEA, то все працює.
@Bobocode
@Bobocode Жыл бұрын
Можете взагалі не читати відповідь, щоб спростити свій код. А до запиту треба додати header Content-Length, бо сервер не розуміє доки читати ваше повідомлення. Винесіть JSON в стрінг jsonBody, а в Content-Length вкажіть jsonBody.length().
@NikitaMalov
@NikitaMalov Жыл бұрын
@@Bobocode Дякую!
Тяжелые будни жены
00:46
К-Media
Рет қаралды 5 МЛН
Как быстро замутить ЭлектроСамокат
00:59
ЖЕЛЕЗНЫЙ КОРОЛЬ
Рет қаралды 10 МЛН
小路飞姐姐居然让路飞小路飞都消失了#海贼王  #路飞
00:47
路飞与唐舞桐
Рет қаралды 95 МЛН
Can you beat this impossible game?
00:13
LOL
Рет қаралды 45 МЛН
API REST Java com Spring Boot
1:19:36
Erinaldo Henrique
Рет қаралды 143
Тяжелые будни жены
00:46
К-Media
Рет қаралды 5 МЛН