JavaRush /Blog Java /Random-MS /Bahagian 1. Apa yang anda perlu tahu sebelum mempelajari ...

Bahagian 1. Apa yang anda perlu tahu sebelum mempelajari Spring dan JavaEE

Diterbitkan dalam kumpulan
Jika anda telah menamatkan pengajian Java SE atau hampir dengannya, sudah tiba masanya untuk memikirkan langkah seterusnya dalam menakluki profesion pembangun Java. Bahagian 1. Apa yang anda perlu tahu sebelum mempelajari Spring dan JavaEE - 1Di satu pihak, anda sudah mempunyai pemahaman yang baik tentang Java: anda tahu cara bekerja dengan IDE, menulis program dan banyak lagi. Tetapi apa yang perlu kita lakukan seterusnya dengan mereka, program? Bagaimana untuk menjadikan mereka lebih sejuk dan "melepaskan mereka ke dunia"? Ia menjadi jelas bahawa sudah tiba masanya untuk mula mempelajari teknologi Perusahaan. Dan di sinilah keseronokan bermula. Tidak kira tindanan teknologi yang mana anda memutuskan untuk bermula. Sama ada JavaEE atau Spring, anda mungkin akan menemui banyak perkara yang masih di luar pemahaman anda. Antara asas Java dan teknologi canggih, masih terdapat tahap pengetahuan pertengahan yang akan membantu anda tidak kehilangan sisa kawalan diri dan keyakinan diri apabila membaca dokumentasi yang banyak. Oleh itu, tujuan siri artikel ini adalah untuk memberi anda pengetahuan teoritis minimum yang diperlukan untuk kajian lanjut JavaEE atau Spring. Semua bahan dibahagikan kepada 7 bahagian:
  1. Mari kita bercakap sedikit tentang rangkaian.
  2. Mari kita pertimbangkan struktur pelayan pelanggan dan seni bina tiga peringkat.
  3. Mari lihat protokol HTTP/HTTPS.
  4. Mari belajar semua yang anda perlu tahu tentang Maven.
  5. Mari kita bercakap tentang servlet.
  6. Bekas Servlet.
  7. Dan akhirnya - tentang MVC.

Bahagian 1. Mari kita bercakap sedikit tentang rangkaian

Mari kita mulakan dengan perkara yang paling penting dan bercakap tentang asas di mana semua rangkaian sosial, perkhidmatan web dan aplikasi, pemesej segera dan tapak mudah dibina - mengenai rangkaian ( dalam konteks siri artikel ini, istilah "rangkaian" bermaksud Internet Global ). Rangkaian ini terdiri daripada sejumlah besar komputer: ia saling berkaitan dan mampu berkomunikasi. Adalah penting untuk memahami cara mereka melakukan ini, kerana aplikasi web adalah perkara yang mereka lakukan untuk memindahkan maklumat dari satu komputer ke komputer yang lain.

model rangkaian OSI

Model OSI (Saling Sambungan Sistem Terbuka) mencipta pendekatan berlapis untuk membina rangkaian. Ia jelas menunjukkan bagaimana dan pada tahap apakah ahli rangkaian yang sama boleh berinteraksi antara satu sama lain. Secara keseluruhan, model ini mengandungi 7 peringkat:
7 Digunakan
6 Perwakilan
5 Sesi
4 Pengangkutan
3 Rangkaian
2 Saluran
1 Fizikal
Pecah kepada lapisan abstraksi membolehkan pakar yang bekerja, sebagai contoh, pada lapisan pengangkutan, tidak memikirkan butiran pelaksanaan rangkaian pada lapisan rangkaian dan sesi. Pendekatan ini juga digunakan dalam pengaturcaraan. Mari kita lihat semua lapisan model OSI dan ketahui yang mana antara mereka menarik bagi kita:
  1. 1. Tahap fizikal - di sini undang-undang fizik menjalankan tugas mereka, dan tugas manusia adalah untuk menggunakan dan mengarahkan ini untuk tujuannya sendiri. Contohnya, mencipta kabel dan meletakkannya kepada ahli rangkaian.

    Kami tidak berminat.

  2. Lapisan pautan data - bertanggungjawab untuk menghantar data ke nod rangkaian dan mencipta saluran penghantaran data pada objek fizikal.

    Нам не интересен, если только нет желания писать прошивку для каналообразующей аппаратуры.

  3. Сетевой уровень — для определения addressов отдельных пользователей сети и маршрутов к ним. На этом уровне стоит остановиться подробнее, а именно — на addressе пользователя в сети.

    Он определяется специальным протоколом: самый распространённый — IPv4 (Internet Protocol version 4). Именно его нужно использовать веб-программисту для обращения к другому абоненту сети.

    IPv4 состоит из четырех byteовых значений, разделенных точкой, например: 192.0.2.235. Стоит помнить, что значения byteовые, а значит, они лежат в пределах 0..255.

    IP-address, в свою очередь, делятся на классы, и просто так присвоить себе красивую комбинацию циферок не получится, но так сильно углубляться мы не станем. Достаточно понимать, что IP-address — это уникальный идентификатор абонента в сети, по которому мы сможем к нему обратиться.

  4. Транспортный уровень — занимается доставкой информации addressту. Для этого используются разные протоколы, которые нам пока не интересны. Гораздо больше нас интересует понятие, которое появляется на этом уровне, — port.

    Порты отвечают за идентификацию конкретного applications на компьютере. Например, ты написал чат на Java, установил на 2 компа и хочешь отправить своему собеседнику. Твое сообщение упаковывается, отправляется по конкретному IP-addressу, доставляется твоему собеседнику, но его ПК не знает, что делать с полученной информацией, так How не понимает, Howое приложение должно обработать твое сообщение. Для этого и указываются порты при общении абонентов в сети.

    Порт представляет собой число от 0 до 65535. Он добавляется к IP-addressу после двоеточия: 192.0.2.235:8080. Но нельзя использовать все порты из указанного диапазона: часть из них зарезервирована под операционную систему, еще часть принято использовать с конкретно оговоренной целью. В преднаmeaning разных портов углубляться не будем, пока достаточно понимать их роль в процессе общения в сети.

  5. Сеансовый уровень — создает и управляет сеансами связи приложений. На этом уровне становится возможным взаимодействие приложений, отправка requestов служебного уровня. Для нас важно знать, что на этом уровне между двумя абонентами открывается сессия (session), с которой нам часто придется работать.

    Сессия — сущность, которая создается при установке связи между двумя пользователями. В ней можно сохранять нужную нам информацию о юзере, об истории их взаимодействия. Важной деталью является то, что при остановке обмена информацией сессия не пропадает, а сохраняет свое состояние на протяжении установленного промежутка времени, поэтому пользователи могут продолжить обмен информацией после перерыва.

    Jika aplikasi berkomunikasi dengan beberapa pengguna secara serentak, bilangan sambungan yang sesuai, dan oleh itu sesi, diwujudkan. Setiap sesi mempunyai pengecam unik (ID) , yang membolehkan aplikasi membezakan antara pengguna yang berkomunikasi dengannya.

  6. Lapisan pembentangan - bertanggungjawab untuk pengekodan/penyahkodan data. Jelas sekali, jika kita perlu menghantar rentetan "Hello web" kepada pengguna lain, ia mula-mula ditukar (dikodkan) ke dalam kod binari, dan hanya kemudian dihantar. Sebaik sahaja ia sampai ke destinasi, mesej ditukar kembali (dinyahkod) dan penerima boleh melihat rentetan asal. Tindakan ini berlaku pada peringkat pembentangan.

  7. Lapisan aplikasi adalah lapisan yang paling menarik untuk kami. Ia membolehkan aplikasi berinteraksi dengan rangkaian. Pada tahap ini kami akan menerima, menghantar mesej, membuat permintaan kepada perkhidmatan dan pangkalan data jauh.

    Terdapat banyak protokol yang digunakan pada tahap ini: POP3, FTP, SMTP, XMPP, RDP, SIP, TELNET dan, sudah tentu, HTTP/HTTPS. Protokol ialah perjanjian sejagat yang kami patuhi semasa mengarang mesej. Kami pasti akan bercakap tentang protokol HTTP/HTTPS secara berasingan dan lebih terperinci.

Bahagian 1. Apa yang anda perlu tahu sebelum mempelajari Spring dan JavaEE - 2 Kita tidak perlu tahu cara setiap tahap model ini berfungsi. Perkara utama ialah memahami prinsip operasi elemen yang perlu kita hadapi semasa menulis aplikasi web, iaitu:
  • Alamat IP—alamat pelanggan pada rangkaian;
  • Port — alamat permohonan pelanggan tertentu;
  • Sesi ialah entiti yang wujud sepanjang keseluruhan komunikasi antara dua pelanggan;
  • Protokol aplikasi (HTTP/HTTPS) ialah peraturan yang akan membimbing kita semasa mengarang dan menghantar mesej.
Apabila kami pergi ke, katakan, kedai dalam talian, kami menunjukkan alamat lokasi dan pelabuhannya. Pada lawatan pertama anda, satu sesi dibuat di mana kedai boleh merekod maklumat. Contohnya, tentang barang yang kita tinggalkan dalam troli. Jika kami menutup tab kedai dalam talian dan kemudian kembali kepadanya, produk kami akan kekal dalam troli kerana ia disimpan dalam sesi. Sudah tentu, kami menerima semua maklumat yang kami terima daripada kedai melalui protokol HTTP/HTTPS, dan penyemak imbas kami boleh memprosesnya. Anda boleh membantah dan mengatakan bahawa anda tidak pernah memasukkan alamat dan port dalam penyemak imbas, dan anda akan menjadi sebahagiannya betul, kerana anda memasukkan nama domain, yang telah ditukar pada pelayan DNS. Tetapi di sini, mari kita lihat dengan lebih baik apa itu.

DNS (Sistem Nama Domain)

Seperti yang telah kami ketahui, setiap pelanggan di rangkaian mempunyai alamat yang unik. Jika kita bercakap tentang aplikasi, alamat uniknya ialah IPv4:port . Mengetahui alamat ini, anda boleh terus mengakses aplikasi. Bayangkan kita menulis aplikasi web yang memaparkan purata suhu udara di semua negara dalam masa nyata. Kami mengerahkannya pada pelayan dengan alamat 226.69.237.119 dan pada port 8080. Untuk membolehkan pengguna menerima maklumat daripada kami, dia perlu memasukkan 5 nombor dalam penyemak imbas: 226.69.237.119:8080. Orang tidak begitu suka mengingati set nombor: tidak semua daripada kita mengingati lebih daripada dua nombor telefon. Itulah sebabnya sistem nama domain dicipta . Kami boleh membuat "alias" untuk alamat kami—contohnya, world-temperature.com—dan bukannya mencari kami menggunakan alamat lima digit, pengguna boleh menaip nama domain kami ke dalam bar alamat penyemak imbas. Untuk memadankan nama domain dan alamat sebenar, terdapat pelayan DNS . Apabila pengguna memasuki, sebagai contoh, javarush.ru dalam penyemak imbas, permintaannya dihantar ke pelayan DNS, di mana ia bertukar menjadi alamat sebenar. Bahagian 1. Apa yang anda perlu tahu sebelum mempelajari Spring dan JavaEE - 4Adalah penting untuk kami memahami perkara ini, kerana dalam aplikasi kami, kami akan memanggil perkhidmatan jauh dengan nama domain dan alamat sebenar, dan ini akan menjadi perkhidmatan yang sama. Itu sahaja! Dalam artikel ini, kami melihat asas reka bentuk rangkaian, yang akan berguna sebelum anda mula mempelajari pengaturcaraan web. Lain kali kita akan melihat apakah seni bina pelayan-pelanggan dan mengapa memahaminya sangat penting. Bahagian 2. Mari kita bercakap sedikit tentang seni bina perisian Bahagian 3. Protokol HTTP/HTTPS Bahagian 4. Asas Maven Bahagian 5. Servlets. Menulis aplikasi web ringkas Bahagian 6. Bekas Servlet Bahagian 7. Memperkenalkan corak MVC (Model-View-Controller) Bahagian 8. Menulis aplikasi spring-boot kecil
Komen
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION