Pengetahuan yang diperlukan untuk memahami artikel: Anda sudah lebih kurang memahami
Java Core dan ingin melihat
teknologi JavaEE dan
pengaturcaraan web . Adalah paling masuk akal untuk anda sedang mengkaji pencarian Java Collections, yang memperkatakan topik yang hampir dengan artikel itu.
Pada masa ini, saya menggunakan
IntelliJ IDEA Enterprise Edition (
nota editor: ini adalah versi lanjutan berbayar IDE; ia biasanya digunakan dalam pembangunan profesional). Lebih mudah untuk bekerja dengan projek web di dalamnya berbanding dalam
Edisi Komuniti percuma . Dalam
Edisi Perusahaan , secara literal satu klik tetikus membina projek, menjatuhkannya ke dalam bekas servlet, memulakan pelayan dan juga membuka halaman web untuk projek dalam penyemak imbas. Dalam versi percuma IDEA, anda perlu melakukan banyak perkara ini sendiri, iaitu "secara manual". Saya menggunakan
Apache Mavenuntuk membina projek dan menguruskan kitaran hayatnya. Saya hanya menggunakan sebahagian kecil daripada keupayaannya (pengurusan pakej/pergantungan) dalam projek ini. Sebagai pelayan kontena/aplikasi servlet, saya memilih Apache Tomcat versi 9.0.12.
Mari kita mulakan
Mula-mula, buka
IntelliJ IDEA dan buat
projek Maven kosong .
Di sebelah kiri, pilih
Maven , dan semak bahawa
JDK projek dipilih di atas. Jika tiada, pilih satu daripada senarai, atau klik
Baharu ... dan pilih satu daripada komputer.
Dalam tetingkap ini, anda perlu menentukan
GroupId dan ArtifactId . GroupId merujuk kepada pengecam unik syarikat yang mengeluarkan projek
. Amalan biasa ialah menggunakan nama domain syarikat, tetapi dalam susunan terbalik. Bukan seperti cermin sekalipun. Contohnya, jika nama domain syarikat ialah
maven.apache.org , maka GroupIdnya ialah
org.apache.maven. Iaitu, kita mula-mula menulis domain peringkat atas, tambah titik, kemudian domain peringkat kedua, dan seterusnya. Ini adalah pendekatan yang diterima umum. Jika anda sedang "memproses" projek itu sendiri (dan bukan sebagai sebahagian daripada syarikat), maka anda meletakkan nama domain peribadi anda di sini (juga dalam susunan terbalik!). Jika anda mempunyai satu, sudah tentu. :) Jika tidak, jangan risau. Anda sebenarnya boleh
menulis apa sahaja di sini .
Untuk syarikat dengan nama domain john.doe.org, GroupId ialah org.doe.john. Konvensyen penamaan ini diperlukan untuk mengasingkan projek dengan nama yang sama yang dihasilkan oleh syarikat yang berbeza. |
Dalam contoh ini, saya akan menggunakan domain rekaan:
fatlady.info.codegym.cc . Sehubungan itu, saya masukkan
cc.codergym.info.fatlady dalam medan
GroupId .
ArtifactId hanyalah nama projek kami. Anda boleh menggunakan huruf dan simbol tertentu (sempang, contohnya) untuk memisahkan perkataan. "Artifak" kami akan dinamakan dengan tepat apa yang kami tulis di sini. Dalam contoh ini, saya akan menggunakan
my-super-project . Jangan sentuh medan versi lagi—biarkan sahaja ia seperti sedia ada.
Dan inilah
tetingkap IDEA standard apabila anda membuat projek baharu. Mengekalkan tradisi, mari kita panggilnya
my-super-project .
Projek dibuat!
Pom.xml segera dibuka. Ini ialah fail dengan tetapan Maven. Jika kami ingin memberitahu Maven apa yang perlu dilakukan atau di mana untuk mencari sesuatu, kami menerangkan semua itu dalam fail pom.xml ini. Ia terletak di akar projek. |
Kami melihat bahawa ia kini mengandungi data tepat yang kami masukkan semasa membuat
projek Maven :
groupId ,
artifactId dan
versi (kami tidak menyentuh yang terakhir itu).
Struktur projek kami
Projek Maven ini mempunyai struktur khusus.
Seperti yang anda lihat, akar mempunyai:
- direktori .idea , yang mengandungi tetapan IDEA projek semasa;
- direktori src , tempat kami mencipta kod sumber kami;
- fail my-super-project.iml , iaitu fail projek yang dicipta oleh IDEA;
- fail pom.xml (fail projek Maven yang saya nyatakan sebelum ini), yang kini dibuka. Jika saya menyebut pom.xml di suatu tempat, ini adalah fail yang saya maksudkan.
Di dalam folder
src , terdapat dua subfolder:
- utama — untuk kod kami;
- ujian — untuk ujian kod kami.
Dalam
main dan
test , terdapat folder
java . Anda boleh menganggap ini sebagai folder yang sama, kecuali yang
utama adalah untuk kod sumber dan yang dalam
ujian adalah untuk kod ujian. Buat masa ini, kami tidak mempunyai kegunaan untuk folder
sumber . Kami tidak akan menggunakannya. Tetapi biarkan sahaja di sana.
Mengubahnya menjadi projek web
Sudah tiba masanya untuk kami menukar
projek Maven kami kepada projek web. Untuk melakukan ini, klik kanan pada nama projek dalam pepohon ini dan pilih
Tambah sokongan rangka kerja ...
Tetingkap terbuka di mana kami boleh menambah sokongan untuk pelbagai rangka kerja pada projek kami. Tetapi kami hanya memerlukan satu:
Aplikasi Web . Jawapan itu yang kami pilih.
Pastikan kotak semak
Aplikasi Web dipilih dan tetingkap utama menunjukkan bahawa kami mahu fail
web.xml dibuat secara automatik (saya syorkan anda memilih kotak pilihan, jika ia belum dipilih). Kami kemudian melihat bahawa folder
web telah ditambahkan pada struktur projek kami.
Ini adalah punca projek web kami dengan alamatnya
/
. Dalam erti kata lain, jika kita memasukkan '
localhost ' dalam penyemak imbas (semasa projek berjalan, sudah tentu), maka ia akan melihat di sini, pada akar projek web. Jika kita memasukkan
localhost/addUser , maka ia akan mencari sumber yang dipanggil
addUser dalam folder
web .
Perkara utama yang perlu anda fahami ialah folder web adalah punca projek kami apabila kami memasukkannya ke dalam Tomcat. Kami mempunyai struktur folder tertentu sekarang, tetapi dalam projek siap yang akan kami buat, ia akan sedikit berbeza. Khususnya, folder web akan menjadi akar. |
Dalam
web , terdapat folder yang diperlukan dipanggil
WEB-INF , di mana fail
web.xml terletak, iaitu folder yang kami minta program itu buat pada langkah terakhir. Jom bukak.
Anda boleh melihat bahawa ia tidak mempunyai apa-apa yang menarik di dalamnya, hanya satu tajuk. Ngomong-ngomong, jika anda tidak meminta fail itu dibuat, maka anda perlu menciptanya secara manual, iaitu menaip semua pengepala dengan tangan. Atau, sekurang-kurangnya, cari versi siap pakai di Internet. Apa yang kita perlukan
web.xml ? Untuk pemetaan. Di sinilah kita akan menyatakan untuk
Tomcat URL mana yang meminta untuk dihantar ke servlet mana. Tetapi kita akan sampai kepada itu kemudian. Buat masa ini, biarkan ia kosong. Folder
web juga mempunyai
fail index.jsp. Membukanya.
Ini ialah fail yang akan dilaksanakan secara lalai, boleh dikatakan. Dalam erti kata lain, ia adalah apa yang kita akan lihat apabila kita memulakan projek. Pada asasnya,
jsp ialah
fail HTML biasa , kecuali anda boleh melaksanakan kod Java di dalamnya.
Sedikit tentang kandungan statik dan dinamik
Kandungan statik ialah kandungan yang tidak berubah dari semasa ke semasa. Semua yang kami tulis dalam
fail HTML dipaparkan tidak berubah, sama seperti yang ditulis. Jika kita menulis "
hello world ", teks ini akan dipaparkan sebaik sahaja kita membuka halaman, dan dalam 5 minit, dan esok, dan dalam seminggu, dan dalam setahun. Ia tidak akan berubah. Tetapi bagaimana jika kita mahu memaparkan tarikh semasa pada halaman? Jika kita hanya menulis "
27 Oktober 2017", kemudian esok kita akan melihat tarikh yang sama, dan seminggu kemudian, dan setahun kemudian. Tetapi kami ingin tarikh itu adalah terkini. Di sinilah keupayaan untuk melaksanakan kod terus pada halaman berguna. Kita boleh mendapatkan objek tarikh, tukarkannya kepada format yang diingini, dan paparkan pada halaman. Kemudian, setiap hari apabila kita membuka halaman, tarikh akan sentiasa terkini. Jika kita hanya memerlukan kandungan statik, maka kita hanya memerlukan pelayan web biasa dan Fail HTML. Kami tidak memerlukan Java, Maven atau Tomcat. Tetapi jika kami mahu menggunakan kandungan dinamik, maka kami memerlukan semua alatan tersebut. Tetapi buat masa ini, mari kembali ke index.jsp
kami .
Mari kita nyatakan sesuatu selain daripada tajuk standard, contohnya, "
Apl web super saya! " Kemudian, dalam badan, mari kita tulis "
Saya masih hidup! " Kami hampir bersedia untuk memulakan projek kami! Malangnya, segitiga hijau biasa untuk memulakan program tidak aktif.
Klik pada butang di sebelah kirinya (ditunjukkan pada skrin dengan anak panah merah) dan pilih
Edit konfigurasi ... Itu membuka tetingkap di mana kita dijemput untuk mengklik pada tanda tambah hijau untuk menambah beberapa konfigurasi. Klik padanya (di sudut kiri atas tetingkap).
Pilih
Pelayan Tomcat >
Setempat . Tetingkap dengan banyak pilihan akan dibuka, tetapi lalai sesuai dengan kita untuk hampir semua perkara.
Kami boleh memberikan konfigurasi kami nama yang cantik dan bukannya standard
Unnamed (di bahagian paling atas). Kami juga perlu mengesahkan bahawa IDEA telah berjaya menemui Tomcat pada sistem kami (anda telah
memuat turun dan memasangia betul?). Jika ia tidak ditemui (yang tidak mungkin), kemudian tekan anak panah ke bawah dan pilih di mana ia dipasang. Atau pilih versi lain, jika anda telah memasang lebih daripada satu. Saya hanya mempunyai satu dan ia sudah dipasang. Itulah sebabnya ia kelihatan seperti pada skrin saya. Dan di bahagian paling bawah tetingkap, kami melihat amaran, memaklumkan kami bahawa setakat ini tiada artifak telah ditunjukkan untuk digunakan ke pelayan. Di sebelah kanan amaran ini terdapat butang yang mencadangkan kami membetulkannya. Kami mengkliknya dan melihat bahawa IDEA dapat mencari semuanya dengan sendirinya, mencipta semua yang hilang dengan sendirinya dan mengkonfigurasi semua tetapan dengan sendirinya.
Kita dapat melihat bahawa ia mengalihkan kita dari tab
Pelayan ke tab
Deployment , di bawah
Deploy at the server startupbahagian, dan kami kini mempunyai artifak untuk digunakan.
Klik Guna dan OK. Dan kami mula-mula melihat bahawa di bahagian bawah tetingkap, bahagian telah muncul dengan pelayan Tomcat tempatan kami, di mana artifak kami akan diletakkan. Runtuhkan bahagian ini dengan mengklik butang yang sepadan di sebelah kanan tetingkap.
Sekarang kita melihat bahawa segi tiga pelancaran hijau aktif. Bagi mereka yang suka menyemak semula segala-galanya, anda boleh mengklik pada butang tetapan projek (di sebelah kanan butang pelancaran, ditunjukkan dengan anak panah merah), pergi ke bahagian Artifak, dan pastikan artifak itu benar-benar
dicipta . Ia tidak ada sehingga kami menekan
Betulkan itubutang, tetapi kini semuanya OK. Dan konfigurasi ini sesuai dengan kami dengan sempurna. Secara ringkasnya, perbezaan antara
my-super-project:war dan
my-super-project:war meletup ialah
my-super-project:war hanya terdiri daripada satu fail
perang (yang hanya arkib) dan versi dengan
exploded hanyalah
perang yang "terbongkar" . Dan secara peribadi, itulah pilihan yang saya rasa lebih mudah, kerana ia membolehkan anda menyahpepijat perubahan kecil dengan cepat pada pelayan. Pada dasarnya,
artifak itu adalah projek kami, baru disusun—dan di mana dengan struktur folder telah diubah untuk membolehkan Tomcat mengaksesnya secara langsung. Ia akan kelihatan seperti ini:
Sekarang semuanya sudah bersedia untuk melancarkan projek kami. Tekan butang pelancaran hijau yang berharga dan nikmati hasilnya! :)
GO TO FULL VERSION