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

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

Bobocode

Bobocode

Күн бұрын

Пікірлер: 18
@Bobocode
@Bobocode 2 жыл бұрын
👉 Навчання від Bobocode: bit.ly/3IRrJhj
@feoktant
@feoktant 2 жыл бұрын
HttpServletRequest - ось тут Річ Хікі дуже круто тролить його) kzbin.info/www/bejne/l4Sogpmng76Bd8U
@viktors.4844
@viktors.4844 2 жыл бұрын
Дякую за відео 😊 з нетерпінням чекаю на головне, на Спрінг.
@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 жыл бұрын
Заняття дуже класне, позгадував старі часи, дякую) Писав сервлети коли вони конфігурувалися в 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!)
@rostyslavb1569
@rostyslavb1569 2 жыл бұрын
Цікаві уроки!
@Beetle_in_the_Anthill
@Beetle_in_the_Anthill Жыл бұрын
Жаль класичну Java ee інструмент це хороший в деяких моментах навіть цікавіший ніж Spring але маємо, що маємо
@Bobocode
@Bobocode Жыл бұрын
Є багато цікавого. Ми не можемо все розбирати 😉
@Beetle_in_the_Anthill
@Beetle_in_the_Anthill Жыл бұрын
@@Bobocode я в загальному з часом ринок топче те що дало в певний момент слабину
@ОлегПаламарчук-р5к
@ОлегПаламарчук-р5к Жыл бұрын
Дякую за відео!
@vermilinguas
@vermilinguas 2 жыл бұрын
Привіт! Порекомендуй, будь-ласка, книгу, яка допоможе краще розібратись з WeB в java (як працюють http запити, і т.п.).
@Bobocode
@Bobocode 2 жыл бұрын
Як варіант: amzn.to/3OH8PMI
@vermilinguas
@vermilinguas 2 жыл бұрын
@@Bobocode вдячний :)
@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 Дякую!
The joker favorite#joker  #shorts
00:15
Untitled Joker
Рет қаралды 30 МЛН
Spongebob ate Patrick 😱 #meme #spongebob #gmod
00:15
Mr. LoLo
Рет қаралды 18 МЛН
Will A Guitar Boat Hold My Weight?
00:20
MrBeast
Рет қаралды 256 МЛН
Сесія + Кеш. Як працює ядро Hibernate? 🔥
59:19
Бібліотека Java. Collection API. Reflection API
52:55
Вступ до ORM, JPA та Hibernate
1:01:04
Bobocode
Рет қаралды 5 М.
Ключі + Типи Звʼязків (1-1, 1-m, n-m, self-join)
1:01:27