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

  Рет қаралды 6,251

Bobocode

Bobocode

Күн бұрын

Пікірлер: 18
@Bobocode
@Bobocode 2 жыл бұрын
👉 Навчання від Bobocode: bit.ly/3IRrJhj
@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?
@viktors.4844
@viktors.4844 2 жыл бұрын
Дякую за відео 😊 з нетерпінням чекаю на головне, на Спрінг.
@ОлегПаламарчук-р5к
@ОлегПаламарчук-р5к Жыл бұрын
Дякую за відео!
@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!)
@feoktant
@feoktant 2 жыл бұрын
HttpServletRequest - ось тут Річ Хікі дуже круто тролить його) kzbin.info/www/bejne/l4Sogpmng76Bd8U
@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 2 жыл бұрын
Цікаві уроки!
@NikitaMalov
@NikitaMalov 2 жыл бұрын
Привіт! Не можу відправити 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 Дякую!
UFC 308 : Уиттакер VS Чимаев
01:54
Setanta Sports UFC
Рет қаралды 922 М.
这是自救的好办法 #路飞#海贼王
00:43
路飞与唐舞桐
Рет қаралды 103 МЛН
Smart Sigma Kid #funny #sigma
00:14
CRAZY GREAPA
Рет қаралды 99 МЛН
Советский мультфильм про нашу жизнь !
13:49
Дедушка Аргентинца
Рет қаралды 6 МЛН
«Осень». Самая большая загадка Windows XP
14:36
Девять десятых
Рет қаралды 924 М.
Découvrez les services Firebase pour créer des applications webs et mobiles
1:27:09
GDG Guelmim - Google Developer Groups Guelmim
Рет қаралды 35
UFC 308 : Уиттакер VS Чимаев
01:54
Setanta Sports UFC
Рет қаралды 922 М.