Обработка HTTP запросов. Простой HTTP сервер. #2

Поділитися
Вставка
  • Опубліковано 4 лис 2020
  • Http server. Попробуем реализовать обработку входящих http запросов по схеме, которая используется в java se servlet модели
    Поддержать проект:
    ➡ Стать спонсором ua-cam.com/users/letscodedrujoin
    ➡ Яндекс.Деньги money.yandex.ru/to/4100145167...
    ➡ PayPal paypal.me/letscodedru
    ➡ Qiwi qiwi.me/letscode
    Для более удобной обработки входящих запросов и отдачи контента клиенту мы реализуем объекты, схожие по своему поведению с объектами, которые мы могли наблюдать в голых сервлетах Java SE. Это упростит в дальнейшем работу с более сложными задачами, нежели простой GET запрос и ответ
    Код из видео:
    github.com/drucoder/naive/tre...
    Документация по NIO ServerSocket:
    javadoc.scijava.org/Java8/jav...
    Видео про HTTP протокол:
    • HTTP протокол на пальцах
    Видео про отладку в браузере и инструментарий вэб разработчика:
    • JavaScript debug: отла...
    Видео о IDEA shortkeys:
    • Горячие клавиши Idea/P...
    ➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖
    ➡ Второй канал: / geekchatdru
    ➡ Twitch: / drucoder
    ➡ Твиттер: / letscodedru
    ➡ Группа Вконтакте: letscodedru
    ➡ Канал в Telegram: t.me/letsCode_dru
    ➡ Чат в Telegram: t.me/joinchat/FeiP9xEhqHajfqh...
    ➡ Сервер в Discord: / discord
    ➡ Яндекс.Дзен: zen.yandex.ru/media/id/5ac209...

КОМЕНТАРІ • 69

  • @flowperekur
    @flowperekur 3 роки тому +38

    Очень нравятся твои видео из-за подачи. Просто в 99% каналов по Java авторы не умеют говорить, или плохо замусолено объясняют

  • @Nehoko
    @Nehoko 3 роки тому +22

    Очень клевый сериал про HTTP сервер. Продолжай, очень интересно

  • @user-tj2jx6vx4q
    @user-tj2jx6vx4q 3 роки тому +3

    Первый ютубер по проге, которого я не ставлю на х2. Видео классное, спасибо.

    • @user-se5ub7ft1o
      @user-se5ub7ft1o 3 роки тому

      на х2 тут начнешь терять смысл не знаю как новичкам по скорости интересно. Ну во всяком случае можно отмотать

  • @undefinedlll8560
    @undefinedlll8560 3 роки тому +14

    расскажи пожалуйста поподробнее о асинхроне и future

  • @AyratVideo
    @AyratVideo 3 роки тому +1

    Спасибо за труд! не перестаю восхищаться ценностью контента и эффективной подачей на канале!

  • @user-hb9od6th1d
    @user-hb9od6th1d 3 роки тому +2

    Очень интересная затея! Ждем третий выпуск!

  • @user-uq4nd6go9c
    @user-uq4nd6go9c 3 роки тому +3

    Привет Андрей! Давно не выходило роликов, приятное снова видеть! Еще и по джаве :)

  • @alexanderzenkevich9910
    @alexanderzenkevich9910 2 роки тому

    Хорошая идея. Отличная подача. Ждем продолжения!

  • @antoxacruse312
    @antoxacruse312 3 роки тому

    Твои видео просто золотой грааль! Все понятно и четко объясняешь, чему могут позавидовать многие, если не большинство, других авторов по Java. Можно многому научится, и я обязательно пересмотрю все твои видосы, ты только их выпускай)

  • @vovainua
    @vovainua 3 роки тому

    Лутшый канал по програмированию. Больше всего подача напоминает обзоры . Да иногда может не слишком детально зато после твоего видео понимаеш что и зачем использовать. И потом очень просто и естественно ходить в доки и искать другие примеры потому как есть понимание что и зачем ищеш ) Спасибо за видео )

  • @borismatashin5891
    @borismatashin5891 3 роки тому

    даже просто послушать очень интересно , а еще и с кодом вообще пушка)))

  • @dosodsin3624
    @dosodsin3624 3 роки тому +2

    Дождались!

  • @aureys
    @aureys 3 роки тому

    Спасибо большое за видео!

  • @iorgankrat1118
    @iorgankrat1118 3 роки тому

    Спасибо вам!

  • @soonyman2606
    @soonyman2606 3 роки тому

    Просто лучший)

  • @user-qy2zk3me7j
    @user-qy2zk3me7j 2 роки тому

    Большое спасибо!

  • @borismatashin5891
    @borismatashin5891 3 роки тому

    Делай контент! ты топ! не останавливайся!!!

  • @borismatashin5891
    @borismatashin5891 3 роки тому

    За джаву респект, многие штуки не знал)

  • @tomozi1
    @tomozi1 3 роки тому

    Отличные видео

  • @denischernyavski7466
    @denischernyavski7466 3 роки тому

    пушка-гонка

  • @alekseigrin6126
    @alekseigrin6126 2 роки тому

    Awesome!

  • @alexmeh1919
    @alexmeh1919 3 роки тому

    Супер

  • @arsnazarenko
    @arsnazarenko 3 роки тому +1

    Круто, Андрей, других слов не найти, такого контента на ютьюбе не найти
    Пока из за учёбы времени нет, но уже взял на заметку глянуть вторую серию
    Вот именно чего то такого практически применимого, интересного и на чистой джава и не хватало
    То что надо для обучения!!!
    Спасиьо, продолжай в том же духе

  • @hd1200dem
    @hd1200dem 2 роки тому

    Я все это понимаю. Аууууу. Я учился не зря

  • @Givmemp3
    @Givmemp3 3 роки тому

    Топейшесть 10/10

  • @DJTooZoFF
    @DJTooZoFF 3 роки тому +2

    Видсо, как всегда, отличный! Спасибо, Дрю! Единственный момент - HttpResponse сделать бы билдером, чтобы сеттеры можно было цепочкой вызывать )

    • @letsCodeDru
      @letsCodeDru  3 роки тому +2

      Отличная идея) создашь тикет в репозитории? ;)

    • @DJTooZoFF
      @DJTooZoFF 3 роки тому

      @@letsCodeDru да, почему бы и нет )

    • @DJTooZoFF
      @DJTooZoFF 3 роки тому

      @@letsCodeDru увы и ах, нет прав на запись в репозиторий в отдельную ветку (я Xipho на гитхабе), а форк чот лень делать )

    • @DJTooZoFF
      @DJTooZoFF 3 роки тому

      @@letsCodeDru хотел пулл-реквест предложить ) Тикеты не люблю делать )

    • @DJTooZoFF
      @DJTooZoFF 3 роки тому

      @@letsCodeDru в итоге сделал таки тикет )

  • @user-xw2kv6tt7i
    @user-xw2kv6tt7i 3 роки тому +2

    Привет!
    мне кажется на микросервисах / Spring Cloud / Netflix OSS было бы интересно сделать пет-проект аналогично как на SpringBoot с бутстрапом и вью.
    Еще можно jHipster потыкать - тоже уроков на 20 мне кажется всем интересно будет.

  • @user-zx5sv2hb3u
    @user-zx5sv2hb3u 3 роки тому +4

    Ееее!!!! Спасибо! А lombok в этой серии решил не использовать?

  • @borismatashin5891
    @borismatashin5891 3 роки тому +4

    все видосы не видел, но смотрю, сделай пожалуйста про java webSocet, и concurrency (если таких нету)!

  • @user-se5ub7ft1o
    @user-se5ub7ft1o 3 роки тому +1

    Интересно как новичкам заходит? Мне с уже годом опыта работы очень интересно и по скорости отлично. Кстати устроился в основном благодаря этому каналу. Потому что тут без соплей подается реальная практика с разбиением по ООП, и сразу начинаешь понимать что в мире веба как устроено.

  • @sergeytretyakov3040
    @sergeytretyakov3040 2 роки тому

    Спасибо вам за ваши видео.Интересно бы узнать, хотели бы вы снять цикл роликов по библиотеке ktor,добавить на канал уроков по котлину,так сказать?)

  • @user-vb7od9hh1j
    @user-vb7od9hh1j 2 роки тому

    видео очень хорошее. ждём возвращения

  • @user-up5qm1ki2i
    @user-up5qm1ki2i 3 роки тому

    Очень круто! Можно добавки?) Бобра тебе

  • @cymerr2390
    @cymerr2390 3 роки тому +1

    Как всегда зашибенное видео!!
    Почему бы не сделать метод setStatus(int statusCode, String statusString)
    вместо того чтобы всегда парой вызывать отдельно методы для каждого параметра?

  • @user-zx5sv2hb3u
    @user-zx5sv2hb3u 3 роки тому

    Идея для следующей серии видео: брокер сообщений, а-ля RabbitMQ

  • @irbis4403
    @irbis4403 3 роки тому +2

    здравствуйте подскажите сколько надо изучать java чтобы написать такое не списывая и не подсматривая или вы всё таки имеете конспект и подготовленные шпаргалки .Вот у меня проблема опыт программирования какой никакой есть по книге, выполняю все примеры, все задания. Пришёл к более сложному заданию, всё сделал вместе с автором всё работает. Но поймал себя на мысли что я не смогу написать это же код без книги или копипаста это нормально? нету четкого понимания цепочки действий тем самым скорость программирования очень медленное .пожалуйста расскажите как было у вас с этим .

  • @alexeyvladimirov6583
    @alexeyvladimirov6583 3 роки тому

    Отличные видосы, спасибо!
    Вопрос: зачем передавать HttpResponse в хендлер, и делать его мутабельным, если можно было бы заставить хендлер возвращать новый инстанс HttpResponse, и дальше работать с тем, что он вернул? Ведь так, как минимум, было бы удобнее тестировать.

  • @matriks2007
    @matriks2007 3 роки тому +1

    Очень круто! Скажите а персональным обучением Вы занимаетесь?

  • @igorkovalchuk5355
    @igorkovalchuk5355 3 роки тому +1

    Андрей, сделайте пж урок как сделать корзину покупок в интерент магазине на spring

  • @johnnystartup7951
    @johnnystartup7951 3 роки тому

    Андрей, если у Вас будет время и возможность, сделайте пожалуйста проект на микросервисах подобно Sweater i Sarafan, но с брокером сообщений Kafka(RabbitMQ, ActiveMQ) и SpringCloud.

  • @overpathz
    @overpathz 2 роки тому

    Андрюха, подскажи, где ты учил computer science?

  • @javavlogger9409
    @javavlogger9409 3 роки тому

    Я так и не понял, а чем обычный ServerSocket не устраивает?

  • @johnrambo6996
    @johnrambo6996 2 роки тому

    Не понял, как так из буфера убирается часть которую мы обреза'ли через Arrays.copyOfRange. Типа StandartCharsets сам это делает или как?

    • @tryfelhryundelev8704
      @tryfelhryundelev8704 Рік тому

      Все дело в том, что хитрец Andrew (шутка) в прошлом видео использовал метод reset() который свойство limit делает равным capacity . А умный метод flip ставит limit в положение position (которое получилось после чтения очередной порции), а position в положение 0 после чего происходит обработка именно считанной последней порции без танцев с бубнами с предыдущего видео. Попутно решается вопрос который Андрей поднимал в прошлом видео (количество информации кратно размеру буфера). Резюме: мотивирующее видео рулит! Андрею громадное спасибо за труды!

  • @Rb-ur5em
    @Rb-ur5em 3 роки тому

    Добрый день.
    Подскажите можно ли
    найти что-то подобное в принципе? Как лучше поступить ? Писать игру с нуля не
    получится точно!
    Простая карточная
    игра (качество и сложность не важно. лучше что-то по проще..)
    HTML, CSS, JS, MySQL
    Описание:
    Регистрация игрока, Минимум два участника
    Спасибо

  • @vladcit492
    @vladcit492 Рік тому

    Надеюсь автор ответит, я хочу развернуть сервер, чисто для http запросов от клиентов, как его сделать глобальным без статического айпи адреса? Был бы признателен за ответ

  • @oleksiibilyk2058
    @oleksiibilyk2058 3 роки тому +3

    @Autowired
    UA-cam youTube;
    ...
    youTube.setTopChannel("Java", "letsCode");
    ....

  • @johnrambo6996
    @johnrambo6996 2 роки тому

    Если горячая перезагрузка не работает в чем причина может быть?

  • @root924
    @root924 3 роки тому +2

    Куда пропал?

    • @letsCodeDru
      @letsCodeDru  2 роки тому

      Коронавирус меняет жизни. Приходится разгребаться. На видео сил не хватает. Но канал не заброшен. Скорее на паузе

  • @mzikrullaev627
    @mzikrullaev627 3 роки тому

    LetsCode пропал? Или как?

    • @syndicate2268
      @syndicate2268 3 роки тому

      да

    • @letsCodeDru
      @letsCodeDru  2 роки тому +1

      нет. Проблемы из реальности разгребаю. Но это не навсегда

  • @volodymyrkhoma9917
    @volodymyrkhoma9917 3 роки тому +1

    Жаль что народ не понимает важности данной темы и скупится на лайки.

  • @TalosDx
    @TalosDx 3 роки тому

    Канал умер?

    • @letsCodeDru
      @letsCodeDru  2 роки тому

      нет. Скоро всё вернётся на круги своя