CodeGym /Blog Java /rawak /Bahagian 1. Apa yang anda perlu tahu sebelum mempelajari ...
John Squirrels
Tahap
San Francisco

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

Diterbitkan dalam kumpulan
Jika anda sudah selesai (atau hampir) mempelajari Java SE, maka sudah tiba masanya untuk memikirkan langkah seterusnya anda dalam menakluki profesion pembangun Java. Bahagian 1. Apa yang anda perlu tahu sebelum mempelajari Spring dan JavaEE - 1 Di satu pihak, anda sudah mempunyai pemahaman yang baik tentang Java: anda tahu cara bekerja dengan IDE, menulis program dan banyak lagi. Tetapi apakah yang perlu anda lakukan seterusnya dengan program anda? Bagaimanakah anda menjadikan mereka lebih sejuk dan "melepaskannya di dunia"? Sudah menjadi jelas bahawa sudah tiba masanya untuk mempelajari teknologi perusahaan. Dan kini keseronokan bermula. Tidak kira tindanan teknologi yang mana anda memutuskan untuk bermula. Sama ada JavaEE atau Spring, anda mungkin menjumpai banyak perkara yang jauh, jauh di luar pemahaman anda. Antara asas Java dan teknologi canggih, masih terdapat langkah perantaraan dalam pengetahuan yang mesti diambil untuk mengekalkan kawalan diri dan keyakinan diri anda semasa anda membaca dokumentasi yang banyak. Oleh itu,adalah untuk memberi anda pengetahuan teori minimum yang diperlukan untuk kajian lanjut anda tentang JavaEE atau Spring. Bahan ini dibahagikan kepada 7 bahagian:
  1. Kami akan bercakap sedikit tentang rangkaian.
  2. Kami akan memeriksa pelayan pelanggan dan seni bina tiga peringkat.
  3. Kami akan meneroka protokol HTTP/HTTPS.
  4. Kami akan mempelajari semua yang anda perlu tahu tentang Maven.
  5. Kita bercakap tentang pembalakan.
  6. Mengenai bekas servlet.
  7. Dan akhirnya, mengenai MVC.

Bahagian 1. Kita akan bercakap sedikit tentang rangkaian.

Mari kita mulakan dengan perkara yang paling penting dengan bercakap tentang perkara yang dibina pada setiap rangkaian sosial, perkhidmatan web dan aplikasi web, messenger segera dan tapak web mudah — rangkaian (dalam konteks siri artikel ini, istilah "rangkaian" bermaksud Internet ) . Rangkaian ini terdiri daripada sebilangan besar komputer: ia saling berkaitan dan dapat berkomunikasi. Adalah penting untuk memahami cara mereka melakukan ini, kerana aplikasi web menghantar maklumat dari satu komputer ke komputer yang lain.

model OSI

Model Open Systems Interconnection (OSI) mencipta pendekatan berperingkat untuk membina rangkaian. Ia jelas menunjukkan bagaimana dan pada lapisan entiti rangkaian yang sama boleh berinteraksi antara satu sama lain. Secara keseluruhannya, model ini mengandungi 7 lapisan:
7 Permohonan
6 Persembahan
5 Sesi
4 Pengangkutan
3 Rangkaian
2 Pautan data
1 Fizikal
Memecahkan model kepada lapisan abstraksi membolehkan pembangun bekerja pada lapisan pengangkutan, sebagai contoh, tidak perlu memikirkan butiran pelaksanaan pada tahap rangkaian dan lapisan sesi. Pendekatan ini juga digunakan dalam pengaturcaraan. Mari kita pertimbangkan semua lapisan model OSI, dan tentukan mana yang menarik minat kita:
  1. Lapisan fizikal — Lapisan ini memperkatakan undang-undang fizik dan cara menggunakannya untuk tujuan kita. Contohnya, mencipta kabel dan meletakkannya kepada entiti dalam rangkaian.

    Lapisan ini tidak menarik minat kami.

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

    Lapisan ini tidak menarik minat kami melainkan anda ingin menulis perisian tegar untuk perkakasan yang mewujudkan pautan data.

  3. Lapisan rangkaian — Lapisan ini adalah untuk menentukan alamat pengguna rangkaian individu dan laluan ke mereka. Terdapat nilai dalam mempelajari lebih lanjut tentang butiran lapisan ini, iaitu, alamat rangkaian.

    Alamat rangkaian ditakrifkan oleh protokol khas: yang paling biasa ialah IPv4 (Internet Protocol versi 4). Ini ialah protokol yang perlu digunakan oleh pengaturcara web untuk menghubungi pengguna rangkaian lain.

    Alamat IPv4 terdiri daripada empat nilai bait yang dipisahkan oleh noktah, contohnya: 192.0.2.235. Anda harus ingat bahawa nilai ini ialah bait, yang bermaksud bahawa ia terletak dalam julat 0..255.

    Alamat IP, seterusnya, dibahagikan kepada kelas. Kita tidak boleh memberikan kombinasi nombor yang indah kepada diri kita sendiri, tetapi kita tidak akan pergi jauh di sini. Ia cukup untuk memahami bahawa alamat IP mengenal pasti pengguna rangkaian secara unik dan boleh digunakan untuk menghubungi pengguna tersebut.

  4. Lapisan pengangkutan — Lapisan ini mengendalikan penghantaran maklumat kepada penerima. Pelbagai protokol digunakan untuk mencapai ini. Buat masa ini, kami tidak berminat dengan mereka. Kami lebih berminat dengan konsep port , yang muncul pada lapisan ini.

    Port bertanggungjawab untuk mengenal pasti aplikasi tertentu pada komputer. Sebagai contoh, katakan anda menulis apl sembang dalam Java, memasangnya pada 2 komputer dan ingin menghantar mesej kepada rakan anda. Mesej anda dibungkus, dihantar ke alamat IP tertentu dan dihantar kepada rakan anda, tetapi komputernya tidak tahu apa yang perlu dilakukan dengan maklumat yang diterima, kerana ia tidak memahami aplikasi mana yang harus memproses mesej anda. Apabila entiti rangkaian berkomunikasi, port digunakan untuk menunjukkan aplikasi mana yang harus memproses maklumat.

    Port ialah nombor dalam julat dari 0 hingga 65535. Ia ditambah pada alamat IP selepas bertindih: 192.0.2.235:8080 . Tetapi anda tidak boleh menggunakan semua port dalam julat yang ditentukan: sesetengah daripadanya dikhaskan untuk sistem pengendalian, yang lain biasanya digunakan untuk tujuan tertentu. Kami tidak akan menyelidiki tujuan pelabuhan yang berbeza. Buat masa ini, sudah cukup untuk memahami peranan mereka dalam proses komunikasi di rangkaian.

  5. Lapisan sesi — Lapisan ini mencipta dan mengurus sesi komunikasi. Pada lapisan ini, aplikasi boleh berinteraksi, menghantar permintaan peringkat perkhidmatan. Apa yang perlu kita ketahui ialah pada lapisan ini satu sesi dibuka antara dua pengguna, dan kita perlu bekerja dengan sesi tersebut.

    Sesi ialah entiti yang dibuat apabila sambungan diwujudkan antara dua pengguna. Ia boleh menyimpan maklumat yang diperlukan tentang pengguna dan tentang sejarah interaksi dengan pengguna. Perincian penting ialah apabila pertukaran maklumat berhenti, sesi itu tidak hilang. Sebaliknya, ia mengekalkan keadaannya untuk tempoh masa yang ditetapkan, jadi pengguna boleh terus bertukar maklumat selepas rehat.

    Jika aplikasi berkomunikasi dengan beberapa pengguna pada masa yang sama, maka bilangan sambungan yang sepadan (dan dengan itu sesi) diwujudkan. Setiap sesi mempunyai pengecam unik (ID) , yang membolehkan aplikasi membezakan antara pengguna yang berkomunikasi dengannya.

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

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

    Terdapat banyak protokol yang digunakan pada lapisan ini: POP3, FTP, SMTP, XMPP, RDP, SIP, TELNET dan, sudah tentu, HTTP/HTTPS. Protokol ialah perjanjian sejagat yang kami patuhi semasa berkomunikasi. Kami pasti akan menyediakan perbincangan terperinci yang berasingan tentang HTTP/HTTPS.

Bahagian 1. Apa yang anda perlu tahu sebelum mempelajari Spring dan JavaEE - 2Kita tidak perlu tahu cara setiap lapisan model berfungsi. Perkara utama ialah memahami prinsip di sebalik operasi elemen yang perlu kita kerjakan semasa menulis aplikasi web, iaitu:
  • Alamat IP — Alamat pengguna dalam rangkaian
  • Port — Alamat aplikasi pengguna tertentu
  • Sesi — Entiti yang wujud sepanjang tempoh komunikasi antara dua pengguna
  • Protokol aplikasi (HTTP/HTTPS) — Ini adalah peraturan yang akan kami ikuti semasa mengarang dan menghantar mesej.
Apabila kami melawat kedai dalam talian, sebagai contoh, kami menunjukkan alamat dan pelabuhannya. Pada lawatan pertama kami, satu sesi dibuat. Kedai boleh merekod maklumat dalam sesi. Sebagai contoh, kedai mungkin menyimpan maklumat tentang item yang kami tinggalkan dalam troli beli-belah. Jika kami menutup tab dengan kedai dalam talian dan kemudian kembali ke dalamnya kemudian, item kami akan tetap berada dalam troli kerana ia disimpan dalam sesi. Sudah tentu, semua maklumat yang kami terima daripada kedai yang kami terima melalui protokol HTTP/HTTPS, dan penyemak imbas kami tahu cara memprosesnya. Anda boleh membantah, mengatakan bahawa anda tidak pernah memasukkan alamat dan port dalam penyemak imbas, dan anda akan menjadi sebahagiannya betul. Apa yang anda lakukan ialah memasukkan nama domain, yang telah ditukar oleh pelayan DNS. Mari kita lihat dengan lebih baik apa yang ada di sini.

DNS (Sistem Nama Domain)

Seperti yang telah kita pelajari, setiap pengguna rangkaian mempunyai alamat yang unik. Jika kita bercakap tentang aplikasi, maka alamat uniknya ialah IPv4-address:port . Jika anda tahu alamat ini, anda boleh terus mengakses aplikasi tersebut. Bayangkan bahawa kami menulis aplikasi web yang memaparkan purata suhu udara di semua negara dalam masa nyata. Kami mengerahkannya pada pelayan dengan alamat 226.69.237.119, pada port 8080. Untuk dapat menerima maklumat daripada kami, pengguna mesti memasukkan 5 nombor dalam penyemak imbas: 226.69.237.119:8080. Orang ramai tidak suka menghafal set nombor: ramai di antara kita tidak dapat mengingati lebih daripada dua nombor telefon. Itulah sebabnya Sistem Nama Domaintelah direkacipta. Kita boleh mencipta "alias" untuk alamat kita, contohnya, world-temperature.com. Daripada mencari kami menggunakan alamat yang terdiri daripada lima nombor yang sukar diingat, pengguna boleh memasukkan nama domain kami dalam bar alamat penyemak imbas. Terdapat pelayan DNS yang memetakan nama domain ke alamat sebenar. Contohnya, apabila pengguna memasuki codegym.cc dalam penyemak imbas, permintaannya dihantar ke pelayan DNS, yang menukarnya kepada alamat sebenar. Bahagian 1. Apa yang anda perlu tahu sebelum mempelajari Spring dan JavaEE - 4Ini penting untuk kami fahami, kerana aplikasi kami akan memanggil perkhidmatan jauh dengan nama domain dan dengan alamat sebenar. Kita perlu memahami bahawa dalam mana-mana kes perkhidmatan adalah sama. Itu sahaja buat masa ini! Dalam artikel ini, kami melihat asas rangkaian, yang akan berguna semasa anda mula mempelajari pengaturcaraan web.Lain kali kita akan melihat apa itu seni bina pelayan-pelanggan dan mengapa ia sangat penting untuk difahami. Bahagian 2. Mari kita bercakap sedikit tentang seni bina perisian Bahagian 3. HTTP/HTTPS Bahagian 4. Asas Maven Bahagian 5. Servlets dan Java Servlet API. Menulis aplikasi web ringkas Bahagian 6. Bekas Servlet Bahagian 7. Memperkenalkan corak MVC (Model-View-Controller)
Komen
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION