(1) الأدوات
1. JDK (مجموعة تطوير جافا)
JDK هو جوهر Java بأكمله، بما في ذلك Java Runtime Environment (Java Runtime Envirnment)، ومجموعة من أدوات Java ومكتبة فئة Java الأساسية (rt.jar). بغض النظر عن خادم تطبيقات Java، فهو يحتوي بشكل أساسي على إصدار معين من JDK مدمج. لذلك، فإن إتقان JDK هو الخطوة الأولى لتعلم Java جيدًا. JDK الأكثر شيوعًا هو JDK الذي أصدرته Sun. بالإضافة إلى Sun، قامت العديد من الشركات والمؤسسات بتطوير JDK الخاصة بها، مثل JDK التي طورتها IBM، وJrocket بواسطة BEA، وJDK التي طورتها منظمة GNU، وما إلى ذلك. يعمل JVM (Java Virtual Machine) المضمن في JDK الخاص بشركة IBM بكفاءة أكبر بكثير من JVM المضمن في Sun JDK. يعد Jrocket، الذي يعمل خصيصًا على النظام الأساسي x86، أكثر كفاءة من جانب الخادم من Sun JDK. ولكن بغض النظر عن ذلك، ما زلنا بحاجة إلى إتقان Sun JDK أولاً.
1. قم بتنزيل وتثبيت JDK
يُطلق على JDK أيضًا اسم J2SE (Java2 SDK Standard Edition)، ويمكن تنزيله من موقع Java الخاص بشركة Sun، http://java.sun.com/j2se/downloads.html . ويوصى باستخدام J2SDK1.4.2 لتنزيل هذا الإصدار من JDK، صفحة التنزيل موجودة هنا: http://java.sun.com/j2se/1.4.2/download.html .
JDK الذي تم تنزيله هو برنامج تثبيت قابل للتنفيذ. بعد التثبيت الافتراضي، سيتم تثبيت مجموعة JRE (لاستخدام المتصفح) في الدليل C:Program FilesJava، وسيتم تثبيت المجموعة في C:j2sdk1. 4.2 JDK (يتضمن أيضًا مجموعة JRE). ثم نحتاج إلى إضافة مسار Java C:j2sdk1.4.2bin في مقدمة متغير البيئة PATH. تم الآن تثبيت JDK.
2. أداة أوامر JDK
أهم أدوات سطر الأوامر في JDK:
جافا: ابدأ تشغيل JVM لتنفيذ الفصل
جافاك: مترجم جافا
jar: أداة تغليف جافا
javadoc: يجب أن تكون على دراية بأسطر الأوامر الخاصة بمولد وثائق Java وأن تكون ماهرًا في كل معلمة. لتعلم هذه الأوامر، توجد مستندات مفصلة حول وثائق JDK.
2. وثائق JDK
تحتوي الوثائق أيضًا على رابط تنزيل على صفحة تنزيل JDK، ويوصى بتنزيل الوثائق في نفس الوقت. يعد التوثيق أهم دليل برمجة، حيث يغطي وصفًا لجميع جوانب Java. يمكن القول أنه عند تعلم برمجة Java، يتم قضاء معظم الوقت في قراءة هذه الوثائق. أحمله معي عند كتابة كود Java، يمكنني التحقق منه في أي وقت وعدم تركه أبدًا.
3. خادم التطبيقات (خادم التطبيقات)
يعد App Server نظامًا أساسيًا لتشغيل مكونات Java Enterprise ويشكل بيئة التشغيل الرئيسية لبرامج التطبيقات. خوادم التطبيقات السائدة حاليًا هي Weblogic Server من BEA، وWebsphere من IBM، وJboss المجاني. أنا شخصيًا أوصي بـ Weblogic لأن بنيته أكثر نظافة، كما أن تطويره ونشره أكثر ملاءمة لمطوري برامج المؤسسات. فيما يلي مقدمة مختصرة للعديد من خوادم التطبيقات شائعة الاستخدام:
1. القط
Tomcat ليس خادم تطبيقات حقيقيًا بالمعنى الدقيق للكلمة، فهو مجرد حاوية ويب يمكنها دعم تشغيل Serlvet/JSP، ومع ذلك، يقوم Tomcat أيضًا بتوسيع بعض وظائف خادم التطبيقات، مثل JNDI، وتجمع اتصال قاعدة البيانات، ومعالجة معاملات المستخدم، وما إلى ذلك. يُستخدم Tomcat على نطاق واسع في تطبيقات الويب Java الصغيرة والمتوسطة الحجم، لذا ستقدم هذه المقالة مقدمة لتنزيل Tomcat وتثبيته وتكوينه:
Tomcat هو مشروع فرعي لمشروع جاكرتا ضمن منظمة Apache. موقعه الرئيسي هو: http://jakarta.apache.org/tomcat/ . أحدث إصدار من Tomcat هو Tomcat4.1.27. http://www.apache.org/dist/jakarta/tomcat-4/binaries/ .
لتنزيل Tomcat، يمكنك إما تنزيل الحزمة المضغوطة مباشرةً أو تنزيل حزمة التثبيت exe (أنا شخصيًا أوصي باستخدام الرمز البريدي ليكون أكثر نظافة، وفي كلتا الحالتين، بعد التنزيل والتثبيت (فقط قم بفك ضغط الملف المضغوط مباشرة). يجب تعيين متغيرين للبيئة:
Java_HOME=C:j2sdk1.4.2
CATALINA_HOME=D:tomcat4 (دليل تثبيت Tomcat الخاص بك)
تم تثبيت هذا. قم بتشغيل Tomcat وتشغيل CATALINA_HOMEbinstartup.bat. أغلق Tomcat وقم بتشغيل البرنامج النصي Shutdown.bat. بعد بدء تشغيل Tomcat، يتم استخدام المنفذ 8080 بشكل افتراضي، لذا يمكنك استخدام متصفح للوصول إلى http://localhost:8080 لاختبار ما إذا كان Tomcat يبدأ بشكل طبيعي.
يوفر Tomcat أداتين لإدارة واجهة الويب، عناوين URL هي:
http://localhost:8080/admin/index.jsp
http://localhost:8080/manager/html
قبل تمكين أداتي الإدارة هاتين، تحتاج إلى تكوين مستخدم المسؤول وكلمة المرور يدويًا. استخدم أداة نصية لفتح الملف CATALINA_HOMEconftomcat-users.xml وأضف الأسطر التالية:
<اسم الدور = "المدير"/>
<اسم الدور = "المشرف"/>
<اسم مستخدم المستخدم = "روبن" كلمة المرور = "12345678" الأدوار = "admin,manager,tomcat"/>
بهذه الطريقة، يتمتع المستخدم "Robin" بامتيازات المسؤول المتميز. بعد إعادة تشغيل Tomcat، يمكنك استخدام هذا المستخدم لتسجيل الدخول إلى أداتي الإدارة أعلاه وتكوين Tomcat وإدارته عبر الويب.
2.بي لوجيك
يمكن تسجيل Weblogic مجانًا على موقع BEA ثم تنزيل أحدث إصدار من Weblogic8.1 ويمكن استخدام الترخيص مجانًا لمدة عام واحد. رابط تنزيل Weblogic: http://commerce.bea.com/index.jsp ، وثائق Weblogic عبر الإنترنت: http://edocs.bea.com/ .
3. آي بي إم ويب سفير
يمكن أيضًا تنزيل Websphere كإصدار تجريبي مجاني. يمكنك مشاهدة تنزيل منتجات Websphere التجريبية ومعلومات Websphere ذات الصلة على موقع الويب الخاص بشركة IBM DeveloperWorks، والرابط إلى موقع الويب DeveloperWorks الصيني هو: http://www-900.ibm.com/ . DeveloperWorks /cn/wsdd/ ، رابط تنزيل Websphere: http://www7b.software.ibm.com/wsdd/downloads/WASsupport.html .
4. جبوس
Jboss هو خادم تطبيقات مجاني ومفتوح المصدر، ويمكن تنزيله مجانًا من موقع Jboss: http://www.jboss.org/index.html ومع ذلك، فإن وثائق Jboss ليست مجانية وتتطلب أموالًا للشراء تم إعداده لنا لتعلم بعض العقبات. هناك العديد من مستندات تكوين Jboss الجيدة على Jdon والتي يمكنك استخدامها كمرجع: http://www.jdon.com/idea.html
4. بيئة تشغيل تطبيقات جافا
يمكن تقسيم تطبيقات Java ببساطة إلى الجوانب التالية:
1. تطبيقات Java لسطح المكتب تتطلب تطبيقات سطح المكتب عمومًا دعم JRE فقط.
2. تطبيق ويب جافا
يتطلب تطبيق الويب Java تثبيت JDK على الأقل، وحاوية ويب (مثل Tomcat)، وقاعدة بيانات متعددة المستخدمين. وينقسم تطبيق الويب إلى ثلاث طبقات على الأقل:
طبقة المتصفح: يعرض المتصفح صفحة المستخدم
طبقة الويب: تشغيل Servlet/JSP
طبقة قاعدة البيانات: قاعدة بيانات خلفية توفر خدمات الوصول إلى البيانات لبرامج جافا
3. تطبيقات Java على مستوى المؤسسة تعتبر التطبيقات على مستوى المؤسسة معقدة نسبيًا ويمكن توسيعها إلى عدد n من الطبقات، وفي أبسط الحالات، سيتم تقسيمها إلى 4 طبقات:
طبقة المتصفح: يعرض المتصفح صفحة المستخدم
طبقة العميل: يتفاعل برنامج رسومات عميل Java (أو برنامج الجهاز المضمن) مباشرة مع طبقة الويب أو طبقة EJB
طبقة الويب: تشغيل Servlet/JSP
طبقة EJB: تشغيل EJB وإكمال عمليات منطق الأعمال
طبقة قاعدة البيانات: قاعدة بيانات خلفية توفر خدمات الوصول إلى البيانات لبرامج جافا
4. تطبيقات جافا المدمجة
تعد تطبيقات Java المضمنة مجالًا ناشئًا. للانخراط في التطوير المضمن، تحتاج إلى تنزيل حزمة تطوير J2ME من Sun. تتضمن J2ME جهازًا افتراضيًا مخصصًا KVM للأجهزة المضمنة، والذي يختلف عن JVM المضمن في JDK العادي. بالإضافة إلى ذلك، تحتاج إلى تنزيل جهاز المحاكاة من شركة تصنيع مضمنة معينة.
مسار تعلم جافا (2)، الكتب
عند تعلم معرفة جديدة، لا يمكنك أن تتوقع إتقانها بالكامل من خلال قراءة كتاب واحد أو كتابين فقط. مطلوب عملية القراءة خطوة بخطوة. أوصي بسلسلة كتب Java التي نشرتها Oreilly.
أريد فقط إضافة بعض الآراء هنا. يبدأ العديد من الأشخاص في تعلم Java من كتاب "Thinking in Java"، لكنني أعتقد أن هذا الكتاب غير مناسب للمبتدئين. أعتقد أن الطريقة الصحيحة لاستخدام هذا الكتاب هي القراءة التكميلية. "التفكير في Java" ليس مقدمة كاملة لنظام Java بأكمله، ولكنه طريقة كتابة قفزية، وهي طريقة تشبه النصائح لإجراء تحليل متعمق وشرح للعديد من نقاط معرفة Java.
بالنسبة للمبتدئين، من الأفضل العثور على كتاب تمهيدي لـ Java، والذي يوفر مقدمة كاملة نسبيًا وخطوة بخطوة لبناء جملة Java، والميزات الموجهة للكائنات، ومكتبات الفئات الأساسية، وما إلى ذلك. أثناء قراءة هذا الكتاب، يمكنك قراءته اقرأ في نفس الوقت "التفكير في Java" لتعميق فهمك لـ Java وتطبيق المبادئ، وفي الوقت نفسه، يمكنك الحصول على فهم كامل لنظام Java بأكمله.
بالنسبة للكتب التمهيدية عن Java، يوصي Cai Xueyong بـ "استكشاف Java، الإصدار الثاني" أو "Java باختصار، الإصدار الثاني (لخلفية C++)" من تأليف Oreilly. في الواقع، أعتقد أن "الشرح التفصيلي لبرمجة Java 2" أو "Java 2 من المبتدئين إلى المحترفين" من قبل Electronic Industry Press جيد جدًا.
من بين جميع كتب Java، الكتاب الأكثر فائدة ليس تسلسلات Java الخاصة بـ O'reilly، بل وثائق JDK! كل المعرفة التي تريد الحصول عليها تقريبًا متوفرة في الوثائق. الجزء الأكثر أهمية هو بالطبع توثيق واجهة برمجة التطبيقات (API) لمكتبة فئة Java الأساسية، والتي يتم تنظيمها وفقًا للحزم. كل فئة لديها شرح مفصل وعلاقتها بالميراث يتم تنفيذ الواجهة، وفي المواقف التي يتم استخدامها عادةً، يمكنك أيضًا التحقق من جميع سماتها وأساليبها العامة، وشرح كل سمة ومعناها، والغرض من كل طريقة، ومعلمات الاستدعاء، ومعنى الأمر. المعلمات: نوع القيمة المرجعة، والاستثناءات التي قد تطرحها الطريقة، وما إلى ذلك. يمكن القول أن جميع الكتب المتعلقة ببرمجة Java تستخدم في الواقع لغة سهلة الفهم نسبيًا وتنظيمًا جيدًا لتقديم استخدام بعض الفئات الموجودة في حزمة في الوثائق. لذلك يبقى كل شيء على حاله، إذا كان لديك القدرة الكافية على تعلم مكتبات فئة Java مباشرة من خلال التوثيق، فلا داعي لقراءة كتب أخرى. بالإضافة إلى ذلك، يعد التوثيق أيضًا دليلًا ضروريًا للبرمجة. توجد ثلاثة اختصارات للتوثيق على سطح المكتب، وهي توثيق J2SDK1.4.1 وتوثيق Servlet2.3 وتوثيق J2SDKEE1.3.1. مع هذه الوثائق الثلاثة، ليست هناك حاجة إلى كتب أخرى.
بالنسبة لبرمجة Java Web، فإن الشيء الأكثر أهمية هو أن تكون على دراية ببروتوكول HTTP وتتقنه، وهذا لا علاقة له بـ Java. بعد أن تتعرف على بروتوكول HTTP، يجب أن تكون على دراية بمكتبة فئة Java التي تنفذ HTTP البروتوكول، وهو Servlet API، لذلك من الأفضل أن يكون الشيء المهم هو Servlet API. بالطبع، بالنسبة للمبتدئين، من الصعب جدًا تعلم برمجة الويب مباشرة من خلال Servlet API، أوصي بكتاب O'reilly "Java Server Pages" لتعلم برمجة الويب.
من بين كتب EJB، يعد "Enterprise JavaBeans، 2nd Edition" كتابًا جيدًا جدًا. عتبة تعلم EJB مرتفعة نسبيًا ومن الصعب البدء بها، ومع ذلك، فإن هذا الكتاب يقلل تمامًا من صعوبة التعلم EJB يجب دمج التعلم مع التنفيذ المحدد لخادم التطبيقات، لذلك أثناء تعلم EJB، يجب عليك أيضًا تعلم خادم تطبيقات معين في وقت واحد. هناك ثلاثة كتب مرتبطة بهذا الكتاب، وهي Weblogic6.1 وWebsphere4.0 والتنفيذ من الأمثلة في الكتاب المنتشر على JBoss3.0. انها حقا لديها كل من النظرية والتطبيق. أثناء تعلم EJB، يمكنك المشاهدة والقيام بذلك في نفس الوقت، وسيصبح تعلم EJB سهلاً للغاية.
لكن هذا الكتاب به أيضًا مشكلة، وهي أن الإصدار قديم نسبيًا، ويتحدث بشكل أساسي عن مواصفات EJB1.1 وبعض مواصفات EJB2.0. يعتمد كتاب "Mastering EJB 2.0" الذي كتبه Ed Roman بالكامل على مواصفات EJB2.0. وهو يشرح كل شيء بعبارات بسيطة ويغطي جميع جوانب برمجة EJB، كما أنه يحتوي على العديد من النصائح المتعلقة بخبرة البرمجة الكتب الموصى بها لتعلم EJB.
إذا كنت تتعلم J2EE بالاشتراك مع Weblogic، فإن "J2EE Applications وBEA Weblogic Server" هو بالتأكيد خيارك الأول. على الرغم من أن الأمر يتعلق بـ Weblogic 6.0، إلا أنه لا يزال يستحق الشراء، وهو كتاب مدرسي موصى به رسميًا من قبل BEA والمؤلف وهو أيضًا مهندس في BEA. النسخة الصينية متاحة الآن في كل مكان. يجمع هذا الكتاب بين Weblogic لتقديم تطوير ونشر الجوانب المختلفة لتقنية J2EE على منصة Weblogic، وله أهمية توجيهية عملية قوية جدًا.
بعد إتقان المعرفة الأساسية لمنصة Java وJ2EE، فإن الخطوة التالية هي معرفة كيفية استخدام أساليب OO لتصميم البرامج، ثم يجب عليك تعلم "أنماط التصميم". نشرت Sun كتابًا بعنوان "J2EE Core Patterns"، وهو كتاب ضروري لكل مهندس معماري يقوم بتطوير برنامج Java لمنصة المؤسسة. يقدم هذا الكتاب بشكل شامل أنماط تصميم مختلفة لهندسة J2EE وهو كتاب يجب قراءته للمصممين.
عملية مسار تعلم جافا (3).
تختلف طريقة التعلم من شخص لآخر. قد لا تكون طريقة شخص ما مناسبة لشخص آخر. لأنني تعلمت لغة Java بالكامل بنفسي ولم أطلب من أي شخص آخر أبدًا، لذلك تم اكتشاف عملية التعلم بالكامل بنفسي. لا أعرف إذا كانت هذه الطريقة أفضل، يمكنني فقط أن أقدم لك بعض المراجع.
الخطوة الأولى لتعلم Java هي تثبيت JDK وكتابة Hello World. في الواقع، تعلم JDK ليس بهذه البساطة. هناك مشكلتان في JDK تزعجان مبرمجي Java بسهولة: إحداهما هي مشكلة CLASSPATH. نحتاج إلى معرفة كيفية تحميل ClassLoader الخاص بـ JRE للفئة، وهناك مشكلة أخرى وهي مشكلة الحزمة والاستيراد، وكيفية العثور على مسار الفئة. بمجرد توضيح هاتين المسألتين، ستتم إزالة العقبة الأكبر أمام تعلم Java واستخدام JDK. يوصى بقراءة كتاب "Java Deep Adventure" لوانغ سين، والذي يتضمن مناقشة متعمقة حول هاتين القضيتين.
الخطوة الثانية هي تعلم بناء جملة Java. يشبه بناء جملة Java لغة C++. في الأساس، تشبه لغات البرمجة السائدة لغة C أو تشبه لغة C++. لا يوجد شيء جديد، لذا يكفي نصف يوم لتعلم بناء الجملة. الشيء الوحيد الذي يحتاج إلى الاهتمام هو أن هناك العديد من الكلمات الرئيسية التي ليس من السهل فهمها، مثل عام، ومحمي، وخاص، وثابت، ومتى يتم استخدامها، ولماذا تستخدمها، وكيفية استخدامها، وقد يتطلب ذلك من شخص ما أقدم لك بعض النصائح، لقد كنت وحدي تمامًا في ذلك الوقت. ولكن بعد ذلك رأيت كتاب "التفكير في جافا" الذي يتحدث عن هذه المفاهيم.
الخطوة الثالثة هي حيث تتعلم ميزات لغة البرمجة الشيئية Java. على سبيل المثال، الميراث، والمنشئات، والفئات المجردة، والواجهات، وتعدد أشكال الطريقة، والتحميل الزائد، والتجاوز، وآلية معالجة الاستثناءات في Java. بالنسبة لشخص ليس لديه خلفية لغة موجهة للكائنات، أعتقد أن هذه العملية تستغرق وقتًا طويلاً جدًا، لأنه ليس لدي أي خبرة في لغة C++ قبل تعلم Java، فقط خبرة في لغة C. وقد استغرق الأمر مني حوالي شهر أو نحو ذلك لإكمالها. وبعد توضيح كل هذه المفاهيم، فكرت مرارًا وراجعت وجربت الأمثلة الموجودة في الكتاب، وقرأت محتويات تلك الفصول مرارًا وتكرارًا، وقرأتها ما لا يقل عن 5 مرات قبل أن أفهمها تمامًا. ولكن أعتقد أنه إذا كانت لديك خبرة في لغة C++، فيجب أن يكون يوم أو يومين كافيًا. لذلك، خلال هذه العملية، يمكنك قراءة المزيد عن كتاب "التفكير في جافا"، الذي يشرح التوجه الشيئي بشكل شامل للغاية. من المؤسف أنني لم أقرأ هذا الكتاب عندما كنت أدرس، لذلك قضيت الكثير من الوقت لتعلمه من خلال تجاربي وتخميناتي.
الخطوة الرابعة هي التعرف على مكتبة فئة Java. مكتبة الفئات الأساسية لـ Java هي في الواقع حزمة jrelibrt.jar ضمن دليل تثبيت JDK. تعلم مكتبة الفصل الأساسية هو تعلم rt.jar. هناك العديد والعديد من الفصول الدراسية في مكتبة الفصل الأساسي. ويقال أن هناك أكثر من 3000، ولكن لم أحصهم. ولكن هناك 4 فقط هي التي تعتبر أساسية بالنسبة لنا، وهي
java.lang.*;
java.io.*;
java.util.*;
java.sql.*;
يمكن كتابة دراسة هذه الحزم الأربع في كتاب دراسي سميك، ويقوم أورايلي بذلك. أشعر أنه إذا كان الوقت ضيقا فمن المستحيل أن أتعلم من خلال قراءة أربعة كتب. أعتقد أن الطريقة الأفضل للتعلم هي:
أولاً، يجب عليك قراءة إطار عمل الحزمة بالكامل وفهم تكوين فئات الحزمة بأكملها وواجهاتها واستثناءاتها. من الأفضل العثور على مقالة تقدم إطار عمل الحزمة بالكامل. يجب أن تكون الفصول القليلة الأولى من هذه الكتب المخصصة للحزم بمثابة مقدمة لمحتويات الإطار العام هذه.
إن فهم الإطار العام للحزمة لا يعني أن تكون على دراية باستخدام كل فئة، ولكن أن تتذكر السمات والأساليب التي تمتلكها. لا أستطيع أن أتذكر ذلك حتى لو أردت ذلك. بل تحتاج إلى معرفة الفئات التي تتكون منها الحزمة، وما هي استخدامات هذه الفئات، وما هي الوظائف التي تكملها الفئات الأساسية. عندما أقوم بتدريب الأشخاص، عادةً ما أقوم بتدريس حزمة واحدة في كل مرة، لذلك من المستحيل تقديم استخدام كل فصل بالتفصيل، لكنني أكدت مرارًا وتكرارًا أنني لا أخبركم عن هذه الحزم لأخبركم بكيفية استدعاء الفصل الأساليب، لا يتطلب منك أن تتذكر استدعاءات الأسلوب للفئات، ولكنه يتطلب منك أن تفهم ما هي الفئات التي توفرها لنا Java، ومتى يتم استخدام كل فئة، عندما أواجه مشكلة، أعرف أي فئة أو مكان A مزيج من عدة فئات يمكن أن يحل مشكلتي، هذا كل شيء! ، عندما نكتب برنامجًا على وجه التحديد، يكفي طالما أنك تعرف الفصل الذي ستستخدمه لإكمال عملك. عند البرمجة، فإن استدعاء الطريقة المحددة هو التحقق من الوثائق أثناء كتابة التعليمات البرمجية، ولا يُطلب منك تذكرها في الواقع، لا يمكنك تذكر ما يقرب من 100000 طريقة في أكثر من 3000 فئة . ولذلك، يصبح من المهم للغاية فهم الإطار العام لكل حزمة.
الخطوة 5: من خلال الدراسة المذكورة أعلاه، إذا كنت قد تعلمت بشكل أكثر صلابة، فستكون قد وضعت أساس Java. العمل المتبقي الذي يتعين عليك القيام به هو مسح بعض الحزم المفيدة الأخرى في التوثيق إلى جانب الحزم الأربع المذكورة أعلاه. أعتقد أنه في هذه المرحلة من التقدم، تم تطوير قدرة Java على التعلم الذاتي، ووصلت إلى مستوى التعلم المباشر للتوثيق. بالإضافة إلى برمجة واجهة المستخدم الرسومية، الحزم المفيدة الأخرى في JDK هي كما يلي:
java.text.*;
java.net.*;
javax.naming.*;
يوجد في الواقع عدد قليل جدًا من الفئات شائعة الاستخدام في هذه الحزم، فقط عدد قليل منها، لذلك لا تحتاج إلى قضاء الكثير من الوقت.
الخطوة السادسة، برمجة ويب جافا
جوهر برمجة الويب هو بروتوكول HTTP. لا علاقة لبروتوكول HTTP بـ Java. إذا لم تكن على دراية ببروتوكول HTTP، فيمكنك تعلم برمجة Servlet/JSP جيدًا، لكنك لن تتمكن من استخلاص استنتاجات من أحدهما. المثال وفهم كل شيء. لذلك، من الضروري تعلم بروتوكول HTTP. إذا كنت على دراية ببروتوكول HTTP ولديك أساس جيد في برمجة Java، فإن تعلم Servlet/JSP أمر سهل، وقد استغرق الأمر أقل من أسبوع لتعلم Servlet/JSP، ثم بدأت في استخدام JSP لتنفيذ المشاريع.
في دراسة Servlet/JSP، لا يزال الشيء الأكثر أهمية هو توثيق Servlet. يوجد عدد قليل جدًا من الفئات الأكثر استخدامًا في Servlet API، ويمكنك إتقانها في وقت قصير نسبيًا. اقرأ هذه الفئات وحاول كتابة بعض الأمثلة الإضافية. يتمثل جوهر برمجة Servlet/JSP في استدعاء هذه الفئات بشكل متكرر للتحدث بين خادم الويب والمتصفح من خلال بروتوكول HTTP. بالإضافة إلى ذلك، بالنسبة لـ JSP، يجب أن تكون على دراية بالعديد من علامات JSP شائعة الاستخدام. إذا لم تتمكن من تذكر طريقة الكتابة المحددة، فيمكنك البحث عنها مؤقتًا.
بالإضافة إلى ذلك، يجب أن يركز تعلم برمجة Java Web على نمط تصميم تطبيق الويب، وكيفية تحليل منطق الأعمال وتنفيذ تصميم معقول، وفقًا لمتطلبات نمط تصميم MVC، استخدم Servlet وJSP لإكمال طبقات المنطق المختلفة على التوالي وإتقان كيفية التحكم في العمليات ومشاركة البيانات بين Servlet وJSP، بالإضافة إلى كيفية تكوين تطبيق الويب ونشره.
الخطوة 7: إذا كانت عملية تعلم برمجة J2EE وما فوق سلسة نسبيًا، فستزداد الصعوبة فجأة في هذه الخطوة. نظرًا لأن محتوى المعرفة أعلاه يتضمن جانبًا واحدًا فقط، وغالبًا ما تكون مواصفات J2EE الأساسية مثل EJB وJMS وJTA نتيجة للتطبيق الشامل للعديد من تقنيات Java، فمن الصعب نسبيًا إتقانها.
بادئ ذي بدء، يجب أن تتعلم JNDI جيدًا. JNDI هي طريقة البحث عن موارد خادم موقع خادم التطبيقات (مكون EJB، Datasouce، JMS). إذا لم تكن على دراية بـ JNDI، فمن المستحيل تقريبًا تعلم EJB وJMS. JNDI هي في الواقع حزمة javax.naming.*، وهي سهلة الاستخدام للغاية. تكمن الصعوبة في تكوين ملفات موارد الخادم. لتكوين ملفات موارد الخادم، تحتاج إلى إلقاء نظرة على مواصفات المستندات الخاصة، مثل كيفية كتابة web.xml، وكيفية كتابة ejb-jar.xml، وما إلى ذلك. لكل خادم تطبيقات مختلف، يوجد أيضًا ملف تكوين موارد الخدمة الخاص به، والذي تحتاج أيضًا إلى معرفته.
ثم يمكنك تعلم JTA، بشكل أساسي لفهم كيفية تحكم JTA في المعاملات ومتى يتم استخدام JTA. إليك مثال بسيط. نحن نعلم أنه يمكننا عمومًا إجراء التحكم في المعاملات على اتصال قاعدة البيانات (conn.setAutoCommit(false)،....,conn.commit()) كعملية ذرية، ولكن لنفترض أن متطلبات العمل الخاصة بي. هو إجراء عمليات على قاعدتي بيانات مختلفتين كعملية ذرية، هل يمكنك القيام بذلك؟ في هذا الوقت، لا يمكن استخدام JTA إلا. افترض أن عملية العملية تتمثل أولاً في إدراج سجل في قاعدة البيانات A، ثم حذف سجل آخر من قاعدة البيانات B. إذا كتبنا الكود بأنفسنا، فلن نتمكن من التحكم في العملية بأكملها كعملية ذرية. مع JTA، يكتمل التحكم بواسطة خادم التطبيقات.
قبل تعلم EJB، يجب أن تتعلم تسلسل الكائنات وRMI هو أساس EJB. بعد ذلك، تعلم JMS وEJB بالنسبة لـ EJB، الشيء الأكثر أهمية هو فهم كيفية تنفيذ EJB للمكالمات إلى الكائنات البعيدة من خلال RMI، وتحت أي ظروف يتم استخدام EJB.
بعد تعلم EJB وJMS، قد تدرك أنه لا يمكنك الانتظار لتعلم المعرفة في مجالين، أحدهما UML والآخر هو Design Pattern. يعلق تصميم برنامج Java Enterprise أهمية كبيرة على تصميم الإطار. يعد إطار البرنامج الجيد شرطًا ضروريًا لتطوير البرامج بنجاح. في هذا الوقت، يجب أن تبدأ في التركيز على تعلم أنماط وأطر التصميم، وإتقان أنماط تصميم EJB والأنماط الأساسية لـ J2EE من خلال التعلم وتجربة البرمجة العملية.
في مواصفات J2EE، بالإضافة إلى EJB وJMS وJTA وServlet/JSP وJDBC، هناك العديد من تقنيات المؤسسات التي لن أعرضها واحدة تلو الأخرى هنا.
وهناك أيضًا مجال حديث وهو خدمات الويب. ليس لدى خدمات الويب أي شيء جديد على الإطلاق، فهي تشبه الغراء الذي يمكنه توحيد الخدمات المختلفة لتوفير واجهة اتصال موحدة. كمستخدم، أحتاج فقط إلى الحصول على WSDL الذي قدمه لي مزود الخدمة (للحصول على وصف الخدمة ) ليس لدي أي فكرة عما إذا كانت الخدمة التي يقدمها موفر الخادم عبارة عن مكون EJB، أو مكون .Net، أو مكون CORBA، أو أي تطبيق آخر، ولا أحتاج إلى معرفة ذلك. إن أعظم شيء في خدمات الويب هو أنها تحقق مشاركة خدمات الإنترنت بأكملها من خلال توفير الخدمة الموحدة وطرق الاتصال، وهو مجال تقني مثير للغاية. يبدو أنه لا توجد كتب جيدة عن خدمات الويب حتى الآن، ولكن يمكنك التعرف عليها من خلال البحث عن المعلومات على الإنترنت.
مسار تعلم جافا (4) طرق
باعتبارها لغة برمجة، فإن أفضل طريقة لتعلم Java هي كتابة التعليمات البرمجية. بعد أن تتعلم فصلًا دراسيًا، يمكنك كتابة برنامج مثال بسيط وتشغيله لمعرفة النتائج، ثم استدعاء بعض أساليب الفصل الأخرى لرؤية نتائج التشغيل، وبهذه الطريقة يمكنك تعلم الفصل بشكل حدسي للغاية عميق جدا. إذن لا يجب أن تكتفي بتعديل الكود، بل يجب أن تفكر فيما إذا كان سينجح إذا لم أكتبه بهذه الطريقة، وحاول بطريقة أخرى وحاول مرة أخرى. أتذكر أن أحد الخبراء قال إن تعلم البرمجة هو عملية تدمير. بعد الاطلاع على الأمثلة الموجودة في الكتاب وتعلم كيفية كتابة التوثيق، ظللت أحاول استخدام طرق مختلفة لتحقيق ذلك، واستمرت في محاولة تدمير بنية الكود. ألق نظرة. ماذا ستكون النتيجة؟ بهذه الطريقة، سوف تتقن لغة Java بشكل كامل وبكفاءة.
على سبيل المثال، قمنا جميعًا ببرمجة Hello World
الطبقة العامة HelloWorld {
public static void main(String[] args) {
System.out.println("مرحبا بالعالم");
}
}
لا يفهم العديد من المبتدئين تمامًا سبب ضرورة تعريف الطريقة الرئيسية على النحو التالي: public static void main(String[] args). بما في ذلك عندما تعلمت جافا لأول مرة، كان لدي أيضًا مثل هذه الأسئلة. تريد أن تعرف الجواب؟ الأمر بسيط جدًا، يمكنك إعادة تسمية main وتشغيله لمعرفة الأخطاء التي تم الإبلاغ عنها، ثم تحليلها بناءً على رسالة الخطأ؛ وإزالة الجمهور من main والمحاولة مرة أخرى لمعرفة الأخطاء التي تم الإبلاغ عنها، ولا يزال من الممكن تشغيلها بعد الإزالة ثابت؟ لا أعرف ما إذا كان main هل يجب على الطريقة تمرير مصفوفة String[]؟ قم بتغيير String[] إلى int[]، أو حاول String. لا أعرف ما إذا كان من الضروري كتابة اسم معلمة args. يمكنك أيضًا تغيير الوسائط إلى اسم آخر ومعرفة النتائج.
هذا ما فعلته عندما تعلمت Java لأول مرة، قمت بتغيير برنامج Hello World سبع أو ثماني مرات، واستمرت في تشغيله، وقمت بتحليل نتائج التشغيل، وأخيرًا، فهمت تمامًا سبب تعريف الطريقة الرئيسية بهذه الطريقة.
بالإضافة إلى ذلك، لم أكن أعرف الكثير عن الاستثناءات، العامة، الخاصة، الاستثناءات، حاول{}التقاط {}أخيرًا{}، وما إلى ذلك في البداية، لقد قمت للتو بتشغيل الأمثلة الموجودة في الكتاب المرجعي بنجاح، ثم بدأت في التدمير قم بإعادة كتابة البرنامج باستمرار بناءً على أسئلتك الخاصة لمعرفة ما إذا كان يمكن تشغيله، وكيف سيبدو عند التشغيل، وما إذا كان يمكنك الحصول على النتائج المتوقعة. على الرغم من أن هذا يستغرق وقتًا أطول، إلا أنه يتم تدمير نموذج البرنامج بشكل متكرر بهذه الطريقة عدة مرات. لقد تعلمت بدقة هذه المعرفة ذات الصلة. أحيانًا أكتب بعض التعليمات البرمجية الخاطئة عمدًا لتشغيلها لمعرفة ما إذا كان بإمكاني الحصول على خطأ التشغيل المتوقع. هذا الإتقان في البرمجة عميق للغاية.
ما يستحق الذكر بشكل خاص هو أن JDK لديه وظيفة تصحيح رائعة، -verbose
جافا – مطول
javac –verbose والعديد من أدوات JDK الأخرى لديها هذا الخيار
يمكن أن يعرض -verbose الفئة التي يتم تحميلها بواسطة JVM بالتسلسل أثناء تنفيذ الأمر، ومن خلال معلومات التصحيح القيمة هذه، يمكن أن يساعدنا في تحليل ما فعله JVM أثناء التنفيذ.
بالإضافة إلى ذلك، أثناء عملية التعلم، كتبت الكثير من هذه الإجراءات المدمرة، ويجب أن أحفظها بوعي في فئات. وينبغي أيضًا تنظيم الإجراءات الروتينية النموذجية المتراكمة في العمل بانتظام، وبمرور الوقت، سيكون لدي قاعدة تعليمات برمجية. عند مواجهة مشكلات مماثلة، ما عليك سوى الانتقال إلى قاعدة التعليمات البرمجية للنسخ واللصق والبحث والاستبدال، مما يؤدي إلى تحسين سرعة التطوير بشكل كبير. الوضع المثالي هو تجريد بعض الإجراءات الشائعة بأنفسهم لتشكيل مكتبة فئة مشتركة وتغليفها. ثم ستكون قابلية إعادة الاستخدام أقوى.
لذلك أعتقد أن إجراءات التدمير التي كتبتها بنفسك ليست ضرورية بشكل خاص، إذا كنت قلقًا حقًا بشأن الكود الذي كتبته، فإنني أوصيك بشدة بإلقاء نظرة على كود مصدر Java لمكتبة الفئات الأساسية JDK. . سيكون هناك src.zip ضمن دليل تثبيت JDK، وبعد فك ضغطه، يمكنك رؤية مكتبة فئة JDK الأساسية بالكامل، وهي كود مصدر Java لـ rt.jar، ويمكنك الرجوع إلى كيفية كتابة Sun لبرامج Java ومواصفاتها كيف تبدو . عندما أتعلم مكتبة فئة Java، عندما لا أفهم شيئًا ما بشكل واضح، أو عندما أرغب في فهم تفاصيل العملية بشكل أكثر وضوحًا، غالبًا ما أفتح الكود المصدري للفئة المقابلة من خلال النظر إلى الكود المصدري ، سيتم مسح جميع المشاكل.
مسار تعلم جافا (5) الموارد
1. http://java.sun.com/ (الإنجليزية)
يعد موقع Sun's Java الإلكتروني مكانًا يجب زيارته بشكل متكرر. وغني عن القول.
2. http://www-900.ibm.com/developerWorks/cn/
موقع ويب DeveloperWorks الخاص بشركة IBM، إذا كنت تجيد اللغة الإنجليزية، فانتقل مباشرة إلى الموقع الإنجليزي الرئيسي. هذا ليس موقعًا ممتازًا للتحليل والتصميم الموجه للكائنات فحسب، ولكنه أيضًا موقع ويب ممتاز لخدمات الويب وJava وLinux. موصى به للغاية! ! !
3. http://www.javaworld.com/ (باللغة الإنجليزية)
مناقشات وأخبار حول العديد من التقنيات الجديدة في جافا. إذا كنت تريد معرفة المزيد عن جميع جوانب تطبيقات Java، فهذا هو المكان الأفضل.
4. http://dev2dev.bea.com.cn/index.jsp
منتدى مطوري BEA باعتبارها الشركة المصنعة الأكثر أهمية لخادم التطبيقات، فإن BEA لديها العديد من التقنيات الفريدة التي يجب ألا يفوتها الأصدقاء الذين يطورون على Weblogic.
5. http://www.huihoo.com/
يعد موقع Gray Fox Power موقع ويب احترافيًا للبرمجيات الوسيطة، على الرغم من أنه ليس موقعًا احترافيًا لجافا، إلا أنه يتمتع بإنجازات عميقة في تكنولوجيا تطبيقات المؤسسات J2EE.
6. http://www.theserverside.com/home/ (باللغة الإنجليزية)
TheServerSide هو موقع ويب معروف مخصص لتطبيقات Java Server.
7. http://www.javaresearch.org/
لدى منظمة أبحاث Java العديد من المقالات والبرامج التعليمية الممتازة حول Java، وخاصة JDO.
8. http://www.cnjsp.org/
يحتوي موقع تكنولوجيا JSP على عدد لا بأس به من المقالات والموارد حول Java.
9. http://www.jdon.com/
منتدى Jdon هو منتدى تقني احترافي صيني J2EE، من بين العديد من منتديات Java الصينية، يعد Jdon منتدى ذو محتوى تقني عالي جدًا وجودة جيدة جدًا للمشاركات.