(Diperbarui Mar 2020)
Pertama-tama, "Java EE" sejak Sep 2019 telah diubah namanya menjadi " Jakarta EE ", dimulai dengan versi 8. Secara historis, ada juga istilah "J2EE" yang mencakup versi 1.2 hingga 1.4. "Java EE" mencakup versi 5 hingga 8. Lihat juga Platform Java, Edisi Perusahaan, Sejarah di Wikipedia .
Apa sebenarnya yang harus saya pelajari?
Saya berasumsi bahwa Anda sudah terbiasa dengan teknologi sisi klien seperti HTML , CSS dan JS , jadi saya tidak akan menjelaskannya secara terperinci. Saya juga berasumsi bahwa Anda sudah terbiasa dengan Java dasar. Ikuti Oracle's The Java Tutorials dan jika mungkin, dapatkan buku atau kursus OCP juga.
Kemudian Anda bisa mulai dengan JSP / Servlet untuk mempelajari konsep dasar pengembangan web Java. Tutorial yang baik dapat ditemukan di tutorial Java EE 5 Oracle bagian II bab 3 - 8 dan di Coreservlets.com ( Pemula-Menengah dan Lanjutan, juga JDBC ). Perhatikan bahwa sejak Java EE 6, JSP dihapus dari tutorial Java EE yang mendukung JSF dan JSP pada dasarnya tidak berubah sejak saat itu. Itu sebabnya Anda bisa menggunakan tutorial Java EE 5 yang cukup lama untuk ini. Yang paling penting berkenaan dengan JSP adalah fakta bahwa menulis kode Java sederhana dalam file JSP menggunakan <%
scriptlets %>
secara resmi tidak dianjurkan sejak tahun 2003. Lihat juga Bagaimana cara menghindari kode Java dalam file JSP? Jadi setiap tutorial yang masih mencakup scriptlets harus dilewati karena pasti akan membawa Anda ke dalam spiral belajar praktik buruk.
Di sini, di Stack Overflow, Anda juga dapat menemukan halaman wiki yang bagus tentang JSP , Servlets , JSTL dan EL di mana Anda dapat mempelajari hal-hal yang penting dan menemukan tautan yang lebih berguna.
Tomcat tampaknya merupakan server web yang bagus untuk Java.
Ini. Namun kemampuannya terbatas. Ini pada dasarnya adalah wadah servlet barebones, hanya menerapkan bagian JSP / Servlet dari Java EE API yang besar. Jika Anda ingin menggunakan EJB atau JPA, maka Anda ingin memilih yang lain, misalnya WildFly , TomEE , Payara , Liberty , WebLogic , dll. Jika tidak, Anda harus menggunakan Spring alih-alih Java EE. Itu berarti tidak mungkin untuk menginstal EJB dalam wadah servlet barebones tanpa memodifikasi mesin inti, Anda akan dalam kasus Tomcat pada dasarnya akan menciptakan kembali TomEE. Lihat juga Apa sebenarnya Java EE? , Bagaimana cara menginstal dan mengkonfigurasi pustaka JSF dengan benar melalui Maven? dan Bagaimana cara menginstal dan menggunakan CDI di Tomcat?
Saya tahu ada Hibernate untuk ORM.
Sebelumnya, selama era J2EE, ketika JPA tidak ada dan EJB2 mengerikan, Hibernate adalah kerangka kerja mandiri dan sering digunakan dalam kombinasi dengan Spring untuk menggantikan EJB. Sejak diperkenalkannya JPA di Java EE 5 (2006), Hibernate telah menjadi implementasi JPA. Anda dapat mempelajari JPA di tutorial EE Jakarta bagian VIII . Juga, EJB3 jauh lebih baik berdasarkan pelajaran dari Spring. Lihat juga Kapan perlu atau nyaman untuk menggunakan Spring atau EJB3 atau semuanya?
Apakah Java memiliki MVC? Bagaimana dengan JSP? Bisakah MVC dan JSP bersama? JavaBeans?
Anda bisa , tetapi itu banyak reinvention of the wheel ketika datang untuk mengikat model dengan tampilan (konversi, validasi, ganti pendengar, dll). Kerangka kerja MVC Java EE disebut JSF . Sebelum Java EE 6 digunakan untuk berjalan di JSP, yang merupakan teknologi tampilan yang cukup lama. JSP digantikan oleh Facelets . Anda dapat mempelajari JSF di tutorial EE Jakarta bagian III bab 7 - 17 . Anda juga dapat menggunakan JSF di Tomcat, Anda hanya perlu menginstalnya secara terpisah. Instruksi pemasangan dapat ditemukan di beranda Mojarra. WildFly, TomEE, Payara, Liberty, WebLogic, dll sebagai implementasi Java EE lengkap sudah menyediakan JSF (dan CDI, BV, JSONP, JAX-RS, EJB, JPA, dll) di luar kotak, jadi Anda tidak perlu pasang secara terpisah. Lihat juga Cara menginstal dan mengkonfigurasi pustaka JSF dengan benar melalui Maven?
Mungkin buku yang membahas semua ini?
Ada beberapa buku. Saya akan merekomendasikan untuk memulai dengan buku yang fokus pada Jakarta EE secara umum , buku yang lebih fokus pada JSF , dan buku yang lebih fokus pada JPA . Pastikan Anda memilih buku terbaru yang membahas topik tersebut. Pertama-tama selidiki versi terbaru yang tersedia dan kemudian pastikan bahwa buku yang dipilih mencakup itu. Jadi jangan memilih buku lama untuk Java EE 5 atau JSF 1.0 atau lebih, sementara saat ini sudah ada Jakarta EE 8 dan JSF 2.3 tersedia.
Last but not least, abaikan situs pengikis snipet kode yang dikelola oleh amatir dengan fokus utama pada pendapatan iklan alih-alih pada pengajaran, seperti roseindia, tutorialspoint, javabeat, javaldeat, javatpoint, codejava, dll. Mereka mudah dikenali oleh tautan iklan yang mengganggu / spanduk dan cuplikan kode JSP yang berisi skrip .
Lihat juga:
Minimal,
Itu "layak". Jika Anda tidak menyukai EJB, mungkin Anda tidak perlu mempelajari hal lain. Glassfish 3 tampaknya cukup keren akhir-akhir ini, tetapi saya belum banyak bermain dengannya. Perhatikan, ini "lebih" dari server web. Ini adalah wadah servlet (artinya dapat menjalankan aplikasi menggunakan teknologi servlet).
Tentang miliaran kerangka kerja yang berbeda. Sungguh, memilih satu benar-benar "sulit". Sangat menggoda untuk mencoba semuanya, tetapi pada akhirnya tidak mungkin.
Saya agak anti-ORM, tetapi Hibernate adalah apa yang Anda butuhkan jika Anda membutuhkan ORM "penuh". Anda juga dapat mencoba "sebagian" ORM, seperti dukungan JDBC Spring atau iBatis.
Ya, sebagian besar kerangka kerja web Java mengerjakan MVC. MVC Spring bagus, tetapi saya tidak bisa merekomendasikan hal lain (terutama, bukan Struts 1!). JSP hanyalah mesin templat HTML (atau XML). JSP sekolah lama, dengan kode Java tertanam tidak keren; JSP modern dengan file tag dan pustaka cukup bagus.
Saya kira sebagian besar kerangka kerja akan membiarkan Anda menggunakan JSP untuk membuat Vs Anda; MVC dan Struts Spring melakukannya. Beberapa akan membiarkan Anda menggunakan sesuatu yang lain juga (Velocity, Freemarker, dll.).
Kacang hanyalah konvensi benda. Pada dasarnya, ini berarti Anda menggunakan getter dan setter (atau beberapa alternatif) dan Anda mengikuti beberapa aturan. Ini harus membiarkan objek Anda dimanipulasi oleh alat tertentu. Contoh khas adalah GUI, beberapa alat akan memungkinkan Anda membangun komponen GUI untuk mengedit kacang sewenang-wenang (yaitu mereka akan membuat formulir untuk mengedit bidangnya).
sumber
Anda membutuhkan HTML, CSS, dan JavaScript - semua tersangka yang biasa untuk pengembangan web.
Tomcat memang memiliki server web bawaan, tetapi ini adalah mesin servlet / JSP . Apache adalah server web murni.
Anda perlu mempelajari JSP, yang merupakan bahasa templating untuk menghasilkan servlet yang menghasilkan output HTML. Anda ingin menulisnya menggunakan JSTL, bukan scriptlets.
Jika Anda melakukan aplikasi CRUD, Anda harus mempelajari JDBC dan database relasional. Anda harus melakukan itu sebelum mencoba Hibernate atau ORM lainnya, karena itu adalah fondasi tempat mereka dibangun.
JavaBeans hanyalah standar untuk objek Java.
Jika Anda siap, saya akan merekomendasikan kerangka Spring.
sumber
Java memiliki kerangka kerja yang berbeda seperti Struts2 , Spring MVC
JSP adalah pustaka template. Ada beberapa alternatif yang bisa Anda coba seperti FreeMarker dan Velocity . AFAIK Freemarker adalah pustaka templat yang bagus. Lebih ringan dari JSP . Lihat FreeMarker ini : Alternatif terbuka untuk JSP - JavaWorld
Saya menggunakan MVC sebagai kerangka kerja yang disebutkan sebelumnya. Semua kerangka kerja memiliki dukungan untuk JSP tetapi Anda perlu memeriksa dukungan untuk pustaka templat lain dalam dokumentasi kerangka kerja masing-masing. AFAIK Struts2 memiliki dukungan yang sangat baik untuk Freemarker.
Saya tidak tahu banyak tentang itu. Tetapi dengan menggunakan kacang, kita bisa langsung memetakan data formulir ke basis data.
Setiap kerangka kerja memiliki buku sendiri. Untuk Struts2 - Struts 2 dalam Aksi
String MVC - Lihatlah pertanyaan-pertanyaan ini merekomendasikan buku-buku untuk Spring dan Spring MVC. Saran buku untuk kerangka kerja Spring dan Buku Musim Semi: Yang mana yang harus dipilih
Fremarker memiliki dokumentasi yang sangat bagus - FreeMarker Manual
Untuk memulai pengembangan web di Jawa -
http://www.amazon.com/SCWCD-Exam-Study-Kit-Certification/dp/1930110596
sumber
Saya menganggap sebagian besar opsi pengembangan web Java tradisional cukup berat, dan ada beberapa alternatif yang baik:
Play adalah kerangka kerja MVC yang difokuskan untuk menjadi ringan, lugas, dan memungkinkan pengembangan cepat - sambil tetap menggunakan Java murni, sebagai lawan dari bahasa berbasis JVM yang lebih dinamis. Ini cukup baru tetapi sudah mengesankan, dan komunitas yang baik telah membangun di sekitarnya dengan cepat.
Grails adalah kerangka kerja MVC, terinspirasi oleh Ruby on Rails, yang ditulis dalam, dan menggunakan, Groovy , bahasa scripting berbasis Java. Grails dewasa, kuat, dan dihormati, dengan komunitas yang kuat. Groovy pada dasarnya adalah superset dari Jawa, dengan sintaksis yang lebih baik dan beberapa fitur hebat seperti closure, jadi belajar itu adalah cara yang bagus untuk belajar Java.
Jika Anda ingin / ingin membangun situs / layanan / aplikasi RESTful , Restlet adalah kerangka kerja yang fantastis - Saya penggemar berat. Sederhana, lugas, namun fleksibel. Komunitas hebat juga.
Google App Engine juga merupakan opsi yang menarik. Di-host, yang mungkin atau mungkin tidak menarik, tetapi memiliki API yang cukup sederhana, dan SDK yang baik.
Saya yakin ada orang lain, tetapi ini adalah yang bisa saya pikirkan dari atas kepala saya.
Semoga berhasil dan selamat bersenang - senang!
sumber
Saya pemrograman PHP / C dan saya telah menemukan groovy memungkinkan saya untuk melompat ke Jawa tanpa mempelajari semua kelas dan paradigma yang melekat dalam pemrograman java. Groovy memungkinkan saya untuk menjadi produktif dengan cepat, sambil meluangkan waktu untuk mempelajari lebih lanjut tentang java dan semua alat / kerangka kerja / perpustakaan yang tersedia.
sumber
Jika Anda tidak ingin bekerja dengan html, css, xml, javascript dll.
Coba kerangka Vaadin , ini terdokumentasi dengan baik, mudah dipelajari dan memungkinkan untuk membuat UI yang tampak menarik dengan cara yang sederhana. (cukup tulis kode Java, tentu saja Anda memerlukan server servlet, Tomcat atau Jetty akan baik-baik saja)
sumber
Lebih baik Anda belajar java. Kemudian Anda belajar Servlets dan JSP. Lalu pergi untuk MVC Anda pergi ke Struts atau Spring atau kerangka kerja lain yang diaktifkan java / java.
sumber
Karena Anda baru mengenal Java, saya sangat menyarankan Anda mempelajari bahasa dasar terlebih dahulu. Ini akan membantu Anda terlepas dari teknologi apa yang Anda pilih untuk melakukan aplikasi web.
Sumber daya online yang bagus adalah Tutorial Java Java - http://java.sun.com/docs/books/tutorial/
sumber