Java EE 6'da Java web uygulamaları yapmak için neler öğrenilmeli? [kapalı]


103

Amacım web uygulamaları yapmak!

"Headfirst - Java" ve "Headfirst - Servlets and JSP" Kitaplarını okumayı bitirdim.

Bu konu (web uygulamaları) çok büyük ve karmaşık olduğu için bundan sonra ne öğrenmem gerektiğini sormak istiyorum. Java EE, EJB, JSF, JPA, Glassfish gibi sloganları okuduğumda kendimi aşırı gergin hissediyorum ... ama pes etmeyeceğim.

Herhangi biri bana öğrenmeye nasıl devam etmem gerektiğini söyleyebilir mi? Bunun gibi bir kitap almalı mıyım : Java EE 6 Platformuna GlassFish 3 ile Başlamak : Acemiden Profesyonelliğe mi yoksa sadece bazı Çevrimiçi eğitimler mi yapmalıyım?

Teşekkürler!


1
İki konuyu okudum. Ama yine: Konu başlıklarında sadece "Tomcat, JBoss, Hazırda beklet, şunu ya da şunu öğren, vs ..." diyorlar. Sadece kelimelerle fırlatıyorlar. Ama hangi kitap veya öğreticiyi öğrenmem gerektiğini bilmek istiyorum. Belki böyle bir yol yoktur ve her kelimeye yukarıdan bakarak "verimsizce" öğrenmem gerekiyor. Nasıl ilerleyeceğime dair bir tavsiye almayı ummuştum.
creativz

1
İyi derecede çekirdek Java bilgisine sahip olmanız koşuluyla, Head First Servlets ve JSP ile başlamanızı tavsiye ederim. Java'yı Programlama Dili olarak kullanmaktan daha rahat değilseniz, önce bu konuda biraz bilgi edinmeniz ve ardından Web Uygulama Geliştirmeye doğru ilerlemeniz gerekir.
Rachel

22
Java EE 6 çıktığından beri tüm bu soruların güncelliğini yitirmiş olması dışında ...
Pascal Thivent

4
@Stephen Aslında, özellikle web kısmında büyük bir boşluk olduğunu düşünüyorum (Servlet 3.0 veya JSF 2.0 ve CDI tarafından yönetilen fasulye ile).
Pascal Thivent

1
Bunun gibi yüksek oylu genel soruların kaç tanesinin "yapıcı değil" olarak kapatılması komik. Çok yapıcı olduklarını ancak yapıcı bir şekilde cevap vermeleri kolay olmadığını söyleyebilirim. Bir kişinin ne yaptığı ya da yapması gerektiğine dair daha büyük resmi görmeye yardımcı olurlar. Ama SO'da kalmalarına izin verilmesi güzel.
jackthehipster

Yanıtlar:


174

Bunun tartışmalı olacağını bilsem bile, tavsiyem yalnızca Java EE 6 ile başlamak olacaktır. Bu nedenle, GlassFish v3'ü edinin ve ya GlassFish 3 ile Java EE 6 Platformu Başlangıcı kitabını edinin : Acemiden Uzmana ya da Java EE 6 eğitimini izleyin . Bana göre, kitap (okumaya başladığım bu yüzden neden bahsettiğimi biliyorum) daha fazla rehberlik sağlıyor ve bu sizin için "her şey" yeniyse tercih edilebilir (hem Java EE platformunu hem de API'lerini kapsar ve uygulamalarınızı oluşturmak ve dağıtmak için ortam).

Şimdi, dediğim gibi, "Java EE ağırdır, bunun yerine Spring'i kullanın, sunum katmanı için Struts veya Wicket veya Stripes öğrenin, kalıcılık için Hazırda Bekletmeyi öğrenin veya ORM'yi sevmediğim için değil, " gibi şeyler söyleyen sesler duyabiliyorum. Bunun yerine iBatis veya düz JDBC kullanın (göreceksiniz, Spring ile havalı, Spring cooool) ve Tomcat (ve neden Jetty değil) veya JBoss kullanın veya tüm bunları unutun ve Grails'e gidin ve bla bla bla ... " .

Ancak bunun size gerçekten yardımcı olduğunu düşünmüyorum ve akıl hocalığı veya rehberlik olmadan (ve tüm kombinasyonları kapsayan güncel olmayan benzersiz bir kaynak bulamazsınız), bu yeni başlayanlar için çok kafa karıştırıcı olmalı.

Bu nedenle, Java EE 6'nın önceki Java EE sürümlerine göre büyük bir gelişme olduğunu düşündüğüm için, çünkü tüm ihtiyaçlarınız için gerçekten güzel standart API'ler sağlar (Servlet 3.0, JSF 2.0, JPA 2.0, EJB 3.1 lite, Bean Validation 1.0, CDI , vb), çünkü bu API'lerin hepsi düzgün olmaktan çok daha fazlası, çünkü onları öğrenmede gerçekten yanlış bir şey yok, çünkü bu zaten büyük bir görev, çünkü bir yerden başlamanız gerekiyor , yalnızca Java EE 6'ya odaklanıyorum ve şimdilik diğer çerçeveler. Daha doğrusu, Java EE 6 Web Profili ile başlardım (ve daha ileri gitmek isterseniz bir şeyler eklerim).

Bunu yaparak, 1) başlayacak ve yepyeni şeyler öğreneceksiniz ve 2) diğer tüm çerçevelere ve / veya araçlara uyum sağlamak ve bunlara hala ihtiyaç olduğunu kanıtlamak için biraz zaman vereceksiniz. Ve eğer varsa, hayatta kalanları deneme zamanı olacak ve neden var olduklarını çok daha iyi anlayabileceksiniz.


3
Teşekkürler. Kitapla ilgili olarak, tam olarak okumadım, ancak Java EE 6 hakkında iyi bir genel bakış elde etmek isteyen hem acemi hem de deneyime sahip geliştiriciler için kesinlikle tavsiye ederim. Kitap iyi oluşturulmuştur, gerçekten birçok API'yi kapsar (pek fazla değil eksik), sunulan her şeyi gösteren kod örnekleri vardır, bunlar gerçekten didaktiktir ve istediğiniz kadar derine inmenize izin verir. Gelecekte daha odaklı kitaplar olabilir ama bu iyi bir kitap.
Pascal Thivent

23
+1, ama Bahar çok havalı :-)
ChssPly76

13
Beni yanlış yorumlama, Stripes, Spring, Hibernate, ... harika. Ancak yeni bir şey keşfederken çok fazla seçenek kafa karıştırıcı olabilir ve Java EE 6'nın onlarsız başlamanıza izin verdiğine inanıyorum.
Pascal Thivent

9
Size katılıyorum, hiçbirini kullanmasanız bile JEE yığınını öğrenmek çok önemlidir, sonuçta bu yığın , işleri gerçekten harika kılan tüm muhteşem çerçevelerin temelini oluşturur, örneğin Wicket, Java dünyasında Servletler ve Filtreler anlamına gelen Front Controller kavramı - bunların nasıl çalıştığını bilmiyorsanız, Wicket'in de ne yaptığını gerçekten anlamayacaksınız! "Sihri" kabul etmedikçe ! elbette cevap olarak.
Esko

13
4 artı yıl sonra .... cevabınızla ilgili herhangi bir şeyi değiştirir misiniz?
jlars62

28

Benim tavsiyem 1 kitap okumayı bırakıp bir şeyler uygulamaya başlamaktır. Tecrübelerime göre, kitap öğrenmek, gerçekten bir şeyler yaparak edindiğiniz bilginin yerine geçmez.


1 - Bağlam: Bu, konuyla ilgili iki kitabı okumayı henüz bitirmiş ve okuyacak daha fazla kitap arayan bir kişiye tavsiyedir. Pratikte okuma ve yapma arasında denge kurmanız gerekir. Özellikle de çözmeye çalıştığınız belirli bir sorununuz varsa.


29
Ama sizi günlerce arayıştan kurtarabilir. Size sormak yerine soruyu cevaplamak için yeterli bilgi verebilir ve sonunda burada yüksek bir itibara sahip olabilirsiniz, değil mi?
Muhammed Gelbana

6
Hayır, katılmıyorum. OP halihazırda iki Java / Java EE kitabı okumuştur. Biraz programlama yapmasının zamanı geldi. FWIW, bilgimin çoğunu kitap okumaktan almadım. Bunun yerine, bir şeyleri uygulayarak ve ihtiyacım olduğunda belgelere atıfta bulunarak PRIMARLY elde ettim. Kitap okuyarak bisiklete binmeyi öğrenmiyorsunuz ... ve programlama becerilerini bu şekilde de öğrenmiyorsunuz.
Stephen C

3
Dengelemek önemlidir readingve practice.
smwikipedia

9

Java EE 6 gerçekten harika. Tek sorun, yaklaşık 2 haftalık olması ve şu anda özelliklerini sunan yalnızca 1 kap var - Glassfish.

Glassfish'e karşı hiçbir şeyim yok, onu her yerde kullanıyorum, birkaç prodüksiyon örneği, ürünü ve projeyi seviyorum.

Bununla birlikte, Java EE 6'nın ayrıntıları Java EE 5'e geri çevrilmez. Bazıları yapar, çoğu yapar, ancak Web Profili, Servlet 3.0, yeni Bean türleri, JPA 2, vb. Bunlar orada değildir.

Bu nedenle, önce Java EE 6'yı öğrenerek, kendinizi tek bir kapsayıcıda kısıtlıyorsunuz. Daha fazlası geliyor ama henüz burada değiller.

Tomcat, JBoss, OpenEJB, Glassfish, Jetty, Resin, Geronimo vb. Hepsi Java EE 5 spesifikasyonuyla iyi çalışır (en azından spesifikasyonun destekledikleri kısımları, örneğin Tomcat EJB'ye sahip değildir).

Java EE 5'te Java EE 6'ya taşınmayan hiçbir şey düşünemiyorum. Java EE 6 bazı çok eski yönleri isteğe bağlı hale getirdi ve bunları bugün öğrenemeyecektiniz. Java EE 6, bazı Java EE 5 öğelerini daha da kolaylaştırdı (özellikle paketleme, örneğin EJB Lite).

Şimdi Java EE 5'i öğrenin, böylece Java EE 6'yı şimdi öğrenmek ve öğrendiğinizin çoğunu kullanamayacağınızı keşfetmek yerine, öğrendiklerinizi çeşitli ortamlarda gerçekten uygulayabilirsiniz.

Bilmeniz gerekenleri tek bir kitap size öğretemez. Örneğin, servletler güzel bir temeldir, ancak birkaç sayfadan veya uç noktadan daha büyük herhangi bir şey için, birçok 3. parti çerçeveden veya JSF'den birini kullanmak isteyeceksiniz ve hiçbir kitap çekirdeği ve ardından üstte bir çerçeveyi kapsamaz. bunun.

Java EE 5 öğreticisi temelleri atmakta iyidir, en büyük şikayetim size kaynak kodunu göstermemeleridir. Aksine, sadece indirip çalıştırmanızı bekliyorlar. Öğreticide tartışılmamış. Önce Baş kitaplarını oldukça iyi buldum.

Web programlama için, ham Servletler sadece istek / yanıt döngüsünü anlamak için yeterince önemlidir, ancak 3. taraf çerçevesine sıçrama yapmak için derinlemesine bir anlayışa ihtiyacınız yoktur.

Stripes for an Action çerçevesinin büyük bir hayranıyım (bir bileşen çerçevesine kıyasla) ve mevcut tek Stripes kitabı mükemmel (bunu seçmeyi kolay bir seçim yapıyor).

Bir Bileşen çerçeve kitabı öneremem ve aslında hemen bir tane önermem. Bileşen çerçeveleri, HTTP çekirdek istek / yanıt yapılarını gerçekten gömüyor. Onları bir nedenle gömüyorlar ve gömerek değer kazanıyorlar, ancak etkili olabilmek için bu kavramları erkenden sağlam bir şekilde anlamanız gerektiğine inanıyorum. Bu yüzden önce bir Bileşen çerçevesi öğrenmeyi önermiyorum.

Java EE 6'da bulunan, ancak Java EE 5 veya herhangi bir servlet konteynerine kolayca kurulabilen JAX-RS REST çerçevesi mükemmeldir. Muhtemelen Servlet 3.0 olması gereken buydu. Ama bunun için kitap bilmiyorum.


2
Soru, üretime hazır olduğunuzda uygulama sunucularının durumunun ne olduğudur. Belirli bir proje bundan sonra 6 ay sürerse, Oracle ve JBoss büyük olasılıkla JEE6 uyumlu sunuculara sahip olur ve Resin büyük olasılıkla bir JEE6 Web Profili sunucusuna sahiptir.
Thorbjørn Ravn Andersen

JBoss Aralık'ta geliyor. Oracle düşük yatıyor. Resin, web profili uygulaması konusunda sessiz kaldı. Geronimo, 3.0 (beta) ile Web Profili için de geçerli. Glassfish 3.0.1'de çıktı ki bu gerçekten güzel.
Thorbjørn Ravn Andersen

5

Tomcat için web sitesindeki kılavuzu okuyun . Bu çok iyi. Özellikle, web uygulaması organizasyonu ve dağıtımı ile ilgili ilk birkaç bölüm ve Servlet API ve JSP'ler ile ilgili bölümler.

Bahar için, Manning kitabı Spring in Action çok iyi. Benzer şekilde Hibernate (Manning kitabı) için de benzer ancak Hibernate'in çoğunlukla webapps kapsamı dışında olduğunu düşünüyorum. Sizin aramanız.

Wicket - Manning kitabı da. Ama gerçekten, sadece Javascript'te ön uç kodunuzu yazın. Daha az acı verici olacak IMO.


3

Diğer teknolojiler hakkında yorum yapmayacağım, ancak Hazırda Bekletmeyi öğrenmek istiyorsanız Cameron McKenzie'nin (www.hiberbook.com) "Hazırda Bekletme Kolaylığı" nı edinin. Her kuruşuna değer. O kitabı 2 günde (kelimenin tam anlamıyla) okumayı bitirebilirsiniz. bir roman gibidir ve sonunda kendinizi bir Semi-Pro gibi Hibernate ile uğraşırken bulursunuz.


3

Jpassion , Java EE 6 ve diğer şeyleri öğrenmek için iyi videolar ve materyaller sağlar.

Ayrıca uygulama örneklerini de görmelisiniz:

  1. Petstore . Maven gerektirir, Glassfish önerilir. Söz konusu kitabı yazan Antonio Goncalves tarafından yazılmıştır .
  2. JBoss Ticketmonster . Maven & Jboss Forge gerektirir . Jboss'ta konuşlandırın.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.