यदि आपको HTML, CSS, और JavaScript की अच्छी समझ मिली है, तो आपके पास कई लोगों का पैर है, जो वेब विकास कर रहे हैं। JSP के पीछे की अवधारणा PHP के समान है। झगड़े अलग हैं। एक सर्वलेट जावा कोड का एक हिस्सा है जो अनुरोध करता है। यह वास्तव में है। संपूर्ण मूल स्ट्रट्स ढांचा एकल सर्वलेट था।
मैं टॉमकैट या जेट्टी जोड़ूंगा सीखने के लिए आपकी तकनीकों की सूची में । Tomcat मूल जावा सर्वलेट कंटेनर कार्यान्वयन है और यह पूरी तरह से चित्रित और लोकप्रिय वेब सर्वर के रूप में भी होता है। इसके ऊपर ग्लासफिश बनाया गया है। मैं अपने नए प्रोजेक्ट्स में टॉमकैट के बजाय जेट्टी का उपयोग कर रहा हूं क्योंकि यह सरल, अधिक लचीला और तेज है। जेट्टी को वेब सेवाओं के लिए वेब ऐप के विपरीत बनाने के लिए डिज़ाइन किया गया था। लेकिन एक वेब ऐप बस एक वेब सेवा है जो कच्चे HTTP अनुरोधों के जवाब में HTML परोसती है, इसलिए यदि आप HTTP (जिसे आप कुछ घंटों में महत्वपूर्ण भागों को एक दिन में सीख सकते हैं) को समझ सकते हैं, तो इसके साथ काम करना बहुत आसान है।
आप टॉमकैट और जेएसपी ( यहां ट्यूटोरियल या जेएसएफ) के साथ एक छोटी सी वेब साइट बना सकते हैं, जिसे आप जानते हैं और ट्यूटोरियल के माध्यम से जाने वाले कुछ घंटे खर्च करते हैं। इस तरह से आप शुरू करने से पहले आराम कर सकते हैं। फिर एक javax.servlet.http.HttpServlet बनाते हैं जो लिखते हैं "<html> <head> <title> Hi </ title> </ head> <body> <h1> Hello World </ h1> </ body> </ html > "रिस्पांस ऑब्जेक्ट के लिए, इसे अपने टॉमकैट web.xml में सूचीबद्ध करें और इसे वेब ब्राउज़र से HTTP अनुरोध भेजें। यह कोई रॉकेट साईंस नहीं है। सभी जावा वेब फ्रेमवर्क उन दो बुनियादी गतिविधियों पर भिन्नता हैं।
यदि आप जेट्टी मार्ग पर जाते हैं, तो यह और भी कम संरचित है। इस हैलो जेट्टी का उदाहरण देखें।
यदि आप सिर्फ एक ब्लॉग या मानक ई-कॉमर्स साइट बनाने जा रहे हैं, तो मैं स्क्वायरस्पेस या वर्डप्रेस या कुछ और के साथ शुरू करूँगा । आप शेल्फ से बहुत दूर हो जाते हैं, अब कोई भी कस्टम कोडिंग को सही ठहराने का कोई तरीका नहीं है।
वेब अनुप्रयोगों के लिए जावा की ताकत इसकी विश्वसनीयता, रखरखाव और प्रदर्शन है। PHP या Ruby / Rails सरल है, लेकिन Java जितना आप जाना चाहते हैं, उतना ही पैमाना होगा। मैं जावा वेब फ्रेमवर्क में से किसी से भी नहीं जुड़ा हुआ हूं। जब आपके पास एक बड़े वेब एप्लिकेशन पर काम करने वाले लोगों की एक टीम होती है, या आपको हाइबरनेट का उपयोग करने की आवश्यकता होती है, तो स्प्रिंग जैसा ढांचा वास्तव में चमकता है। वसंत सबसे लोकप्रिय है। जब आपके पास सर्वलेट्स और जेएसपी / जेएसएफ के साथ कुछ परिचित हैं, तो जानें कि स्प्रिंग एक डेटा मॉडल के साथ कैसे संबंध रखता है।
यदि आप एक ब्लॉग या एक सामग्री प्रबंधन प्रणाली बना रहे हैं, तो शायद आप एक NoSQL डेटाबेस के साथ दूर हो सकते हैं। लेकिन मेरा तर्क है कि NoSQL डेटाबेस मूल रूप से रिलेशनल डेटाबेस को बदलने के बजाय फ़ाइल सिस्टम पर एक कैशिंग परत है। मुझे लगता है कि यह दुर्लभ है कि एक प्रोजेक्ट जो एक NoSQL डेटाबेस के लिए एक अच्छा फिट है, जावा में विकसित करने के लिए उपयुक्त होने जा रहा है।
जिन चीज़ों के लिए अभी भी कस्टम, उच्च-प्रदर्शन कोड (जावा, पीएचपी में, जो भी हो) की आवश्यकता होती है, शायद वे एक रिलेशनल / एसक्यूएल डेटाबेस को पावर करने वाले होते हैं। मैं आपको पहले SQL और JDBC (जावा डेटाबेस कनेक्टिविटी) के साथ एक बुनियादी परिचित प्राप्त करने की सलाह दूंगा। जब आप जावा ऑब्जेक्ट्स की दुनिया, और रिलेशनल डेटाबेस और एसक्यूएल की दुनिया के साथ सहज हो जाते हैं, तो आप एबेन / जेपीए (जावा पर्सिस्टेंस एपीआई) / ओआरएम (रिलेशनशिप से संबंधित मैपिंग) सीख सकते हैं जो ऑब्जेक्ट वर्ल्ड को रिलेशनल दुनिया से जोड़ता है।
ORM मुश्किल और अजीब हैं। अधिकांश अंततः संघर्ष के लायक हैं। ईबिन सबसे सरल है जिसे मैं जानता हूं। मैं 12 वर्षों के बाद हाइबरनेट के साथ 8 महीने के बाद इसके साथ अधिक सहज हूं। मैं बहुत से ऐसे लोगों को जानता हूं जो हाइबरनेट के साथ स्प्रिंग का उपयोग करते हैं और उन्हें कोई परेशानी नहीं होती है, या हाइबरनेट क्या है या क्या करता है, इस बारे में विशेष रूप से अवगत रहें, इसलिए मैं कहूंगा कि यदि आप हाइबरनेट का उपयोग करने जा रहे हैं, तो करें वसंत के माध्यम से। शायद सिर्फ इसलिए कि मैंने इसके साथ लंबे समय तक काम किया है, मैं पूरी तरह से हबीबनेट को परीक्षण के लिए हैश मानचित्रों के एक जोड़े के साथ प्रबंधित करने में कामयाब रहा, जो भयानक है (अनुरोध पर उपलब्ध अवलोकन)।
आपके पास पहले से ही सबसे महत्वपूर्ण कौशल हैं। दूसरों को एक समय में एक ले लो और कोशिश मत करो अभिभूत करने के लिए।