2011-03-05 19 views
6

मैं प्रोग्रामिंग में नया हूं और यह सवाल वास्तव में बेवकूफ हो सकता है लेकिन मैं अभी भी पूछना चाहता हूं क्योंकि मुझे नहीं पता कि कौन से अभ्यास संभव हैं और क्या नहीं हैं। आप देखते हैं, अभी मैं बुनियादी जे 2 ईई का अध्ययन कर रहा हूं। हमारा असाइनमेंट जेएसपी और सर्वलेट्स का उपयोग कर वेब-आधारित एप्लिकेशन बनाना है। मेरी समस्याओं में से एक फॉर्म कर रहा है।वेब फॉर्म बनाना: जावा बनाम एचटीएमएल

मुझे पता है कि HTML जेएसपी में फॉर्म बनाने में सबसे अच्छा अभ्यास है क्योंकि लगभग सभी लोग इसका उपयोग कर रहे हैं (पुस्तकें/इंटरनेट पर उदाहरणों के आधार पर)। लेकिन जावा के पास भी अपना फॉर्म है जो स्विंग, एडब्ल्यूटी है और यह सब घटनाओं का उपयोग करके काम करता है। अगर मैं एचटीएमएल का उपयोग नहीं करना चाहता, तो क्या मैं जावा के स्विंग/एडब्ल्यूटी का उपयोग कर सकता हूं या यह केवल डेस्कटॉप अनुप्रयोगों के लिए है? मैंने जो उल्लेख किया है उसके अलावा, मैं और क्या उपयोग कर सकता हूं?

+0

आप एक JSP पृष्ठ पर घुमाओ घटक का उपयोग नहीं कर सकते? – Alpine

+0

@ एप्पलट में ऐल्पिन? – Orbit

+0

@ ऑर्बिट मैं केवल HTML का उपयोग कर सकता हूं? – newbie

उत्तर

3

लेकिन जावा भी अपने स्वयं के रूपों जो JSwing, स्विंग, AWT है और यह सब घटनाओं का उपयोग करके काम करने के लिए स्थानांतरण अपने डेस्कटॉप expirence की तरह लगता है।

हाँ जावा में स्विंग और एडब्ल्यूटी में कई घटक हैं।
और दोनों स्विंग और एडब्ल्यूटी घटक इवेंट हैंडलिंग का समर्थन करते हैं।
लेकिन मैंने जेएसविंग के बारे में कभी नहीं सुना है।

मैं HTML का उपयोग नहीं करना चाहते हैं, मैं जावा के JSwing/घुमाओ/AWT का उपयोग करें या यह केवल डेस्कटॉप अनुप्रयोगों के लिए है सकते हैं?

स्विंग और एडब्ल्यूटी केवल डेस्कटॉप एप्लिकेशन के लिए हैं।
लेकिन कक्षा के रूप में

Appletz में कहा? - Orbit

आप निश्चित रूप से एक एप्लेट पर स्विंग घटकों का उपयोग कर सकते हैं और फिर अपने जेएसपी पृष्ठ पर एप्लेट एम्बेड कर सकते हैं।

मुझे पता है कि एचटीएमएल JSP

में रूपों बनाने HTML का उपयोग एप्लेट का उपयोग कर एक फार्म

रूप Andrew कहा बनाने के लिए की तुलना में बहुत आसान हो जाएगा में सबसे अच्छा अभ्यास है

एप्लेट्स विकसित करने के लिए एक पिटा हैं और तैनाती है, और अधिकांश उपयोगकर्ता शुद्ध HTML (या गतिशीलता पसंद करते हैं) आईसी एचटीएमएल, जावास्क्रिप्ट का उपयोग करके) एप्लेट्स में।

+0

मैं JSwing के रूप में जावा घुमाओ फोन heheheh .. कि – newbie

2

आप बाहर Wicket कोशिश कर सकते हैं - वेब

4

आप के बारे में कहा जाता है रिच इंटरनेट एप्लीकेशन RIA बात कर रहे हैं। ये वेब एप्लिकेशन हैं जो आपके वेब पेज डेस्कटॉप एप्लिकेशन की तरह दिखते हैं। आप इसे Grails and Flex, GWT और JavaFX के साथ प्राप्त कर सकते हैं। GWT के आधार पर Vaadin, Open Laszlo जैसे कई बहुत ही रोचक और महान वातावरण उपयोग कर सकते हैं। जीडब्ल्यूटी और इसके आधार पर ढांचे जावास्क्रिप्ट उत्पन्न करते हैं और प्रत्येक ब्राउज़र वातावरण के लिए अलग आउटपुट का उत्पादन करते हैं।

ये भविष्य के लिए उपकरण हैं। मैं वास्तव में समझ में नहीं आता कि ये तकनीकें मुख्यधारा क्यों नहीं हैं।

यहां list of the various RIAs ढांचे उपलब्ध हैं। निकट भविष्य में SourceForge में नवागंतुकों का स्वागत करने की उम्मीद है।

+0

हां के बारे में खेद है कि मैं भी यह स्वीकार करते हैं :) –

1

मैं आपको HTML में करने की सलाह दूंगा। चूंकि एचटीएमएल जीता जा सकता है और आप HTML का उपयोग करके अपने वेब ऐप्स को सैद्धांतिक रूप से विभाजित कर सकते हैं। और मैं आपको विकेट (इसका ढांचा) का उपयोग करने की सलाह देता हूं, जहां सभी को विभाजित किया गया है। यही है, वेब डिज़ाइन को HTML का उपयोग करके अलग से किया जा सकता है, प्रस्तुति सीएसएस के माध्यम से की जा सकती है और घटना प्रबंधन सभी जावा के माध्यम से किया जा सकता है। और विकेट भी इन सभी कनेक्शनों का ख्याल रखता है। तो विकेट पर एक नज़र डालें। और उम्मीद है कि यह आपकी मदद करता है।

2

शायद आपको यह सोचने की ज़रूरत है कि कहां चल रहा है, और ये प्रोग्राम कैसे संवाद करते हैं। जब आप कोई वेब एप्लिकेशन विकसित करते हैं, तो आप कम से कम दो अलग-अलग मशीनों के बीच बातचीत को समन्वयित कर रहे हैं।

  1. एक तरफ, यदि आप एक वेब सर्वर चला रहे हैं, कि ऊपर स्थिर सामग्री (सरल फ़ाइलों है कि बस बिना किसी परिवर्तन के बाहर भेजा जाता है) और गतिशील सामग्री (अनिवार्य रूप से फ़ाइलों को केवल निर्माण कर रहे हैं जब जरूरत कार्य करता है, और कहा कि उनकी स्थिति के अनुसार बदल जाएगा - उदाहरण के लिए एक स्वागत पृष्ठ जो उपयोगकर्ता का नाम प्रदर्शित करता है)। सादा एचटीएमएल स्थिर सामग्री है, जेएसपी और servlets गतिशील सामग्री प्रदान करते हैं।

  2. दूसरी ओर, आप एक ब्राउज़र चला रहे हैं। ब्राउज़र स्थिर सामग्री प्रदर्शित कर सकता है, उन पृष्ठों में बनाए गए जावास्क्रिप्ट प्रोग्राम चला सकता है, और विशिष्ट प्रकार के अनुप्रयोगों को एम्बेड कर सकता है। एम्बेडेड अनुप्रयोगों के उदाहरण फ्लैश और एप्लेट्स हैं।

तो आप स्पष्ट हो सकता है, JSP और सर्वलेट वे क्लाइंट मशीन पर नहीं चल रहे हैं, वे तो बस ब्राउज़र को प्रदर्शित करने के लिए अलग-अलग सामग्री वितरित। एक जे 2 ईई प्रोग्राम क्लाइंट को डिलीवर नहीं किया जाता है, यह सर्वर पर बैठता है जो बातचीत के एक तरफ से दूसरी ओर ले जाने वाले ब्राउजर के साथ होता है।

एक वेब फॉर्म केवल HTML का एक ढेर है जो ब्राउज़र को टेक्स्ट फ़ील्ड, बटन और अन्य नियंत्रण प्रदर्शित करने के लिए कहता है। ब्राउज़र इन चीजों के बारे में सब कुछ जानता है, और आपको यह दिखाने के लिए एक प्रोग्राम लिखने की आवश्यकता नहीं है कि फ़ॉर्म को प्रदर्शित करने के लिए क्या करना है और सामग्री को सर्वर पर वापस भेजना है। एक साधारण रूप को गतिशील होने की आवश्यकता नहीं होती है - आप हर बार एक ही प्रश्न पूछ रहे हैं - ताकि आप इसे शुद्ध HTML में लिख सकें।

जब उपयोगकर्ता फॉर्म सबमिट करता है, तो डेटा सर्वर पर प्रेषित होता है और आपको उस डेटा को प्राप्त करने के लिए एक प्रोग्राम लिखना होगा और इसके साथ कुछ करना होगा। यह सर्वलेट की भूमिका है, जो डेटा प्राप्त कर सकती है और प्रतिक्रिया दे सकती है - एक अन्य वेब पेज के साथ, शायद गतिशील सामग्री प्रदर्शित करने के लिए जेएसपी का उपयोग करना (यानी फॉर्म सबमिशन का जवाब)।

यदि यह सब जटिल लगता है, तो यह निश्चित रूप से हो सकता है। विभिन्न ढांचे (विकेट, स्ट्रूट्स और इतने पर) हैं जो वार्तालाप के कुछ विवरण छुपाकर और सामान्य कार्यों को स्वचालित रूप से ले कर वेब अनुप्रयोगों को विकसित करना आसान बनाते हैं। हालांकि, अंतर्निहित तंत्र अभी भी वही है - सर्वर से सामग्री ब्राउज़र पर प्रदर्शित होती है, जो फ़ॉर्म सामग्री जैसे संदेश भेज सकती है, या विभिन्न पृष्ठों के लिए अनुरोध भेज सकती है। बुनियादी तंत्र को समझने से आप अधिक शक्तिशाली चीजें कैसे कर सकते हैं इसके बारे में सूचित विकल्प चुन सकते हैं।

एंबेडेड एप्लिकेशन आपको क्लाइंट पर अधिक जटिल सॉफ़्टवेयर चलाने की अनुमति देते हैं - ताकि आप एनिमेशन या कस्टम नियंत्रण प्रदर्शित कर सकें। हालांकि, सॉफ्टवेयर केवल क्लाइंट पर चल रहा है, और अभी भी सर्वर पर डेटा को संवाद करने की आवश्यकता है। उस डेटा को प्राप्त करने और इसके साथ कुछ करने के लिए सर्वर को अभी भी अपना स्वयं का सॉफ़्टवेयर चलाने की आवश्यकता है।इस प्रकार, एम्बेडेड एप्लिकेशन आपकी नौकरी को आसान नहीं बनाते हैं, लेकिन क्लाइंट पर चीजें कैसे काम करती हैं, इस पर आपको अधिक नियंत्रण करने की अनुमति देता है। हालांकि, एक आधुनिक वेब ब्राउज़र आप रूपों का प्रदर्शन किया और नियंत्रित किया जाता है कैसे पर नियंत्रण का एक बहुत कुछ देता है, तो आपको लगता है कि खाई और फ्लैश या एक एप्लेट की तरह कुछ का उपयोग करने के लिए एक अच्छा कारण की जरूरत है।

2

वेबसाइटों के लिए, हमेशा (इनपुट सुधार, सचेतक और इस तरह के जैसी चीजों के लिए और जावास्क्रिप्ट,) एचटीएमएल का उपयोग करें। जितना कम आप जावा और फ्लैश का उपयोग करेंगे उतना ही बेहतर। ध्यान रखें कि वेबसाइटों तेजी से और कुशल होना चाहिए रखें, उन नहीं जावा एप्लेट भार जब तक मिनट तक प्रतीक्षा करना चाहते हैं।

संबंधित मुद्दे