0. اكتب في المقدمة
نصائح ودية: عنوان التنزيل أدناه.
تم الانتهاء من المشروع بشكل أساسي. مع هذا الملخص ، كتبت 30 مدونة تتعلق بهذا المشروع ، والتي تراكمت كثيرًا. عملية كتابة المدونة هي عملية لتصلب الأفكار. إنه مفيد جدًا بالنسبة لنفسي ويمكنه أيضًا مساعدة الآخرين. بالمناسبة ، سيكون هناك بالتأكيد العديد من الاستثناءات في عملية التعلم. أول شيء نحتاج إلى فعله هو تحديد موقع هذا الاستثناء. بشكل عام ، يتبع واحد أو أكثر من: xxx الاستثناء. هذه هي أسباب الاستثناء. بشكل عام ، نبحث عن القاع ، والذي غالبًا ما يكون جذر المشكلة. إذا لم تتمكن من حلها بنفسك ، فيمكنك البحث على Google أو Baidu (لا تنشر الكثير من التشوهات عند البحث ، أو الانتباه إلى الأجزاء الرئيسية!). بشكل عام ، واجهت 99.9 ٪ من المشكلات التي واجهتها من قبل أسلافنا ، ويمكن حل جميعها بشكل أساسي. أقوم بذلك بشكل أساسي عندما أواجه مشاكل لا يمكن حلها. إذا قمت بحلهم أكثر بنفسي ، فسوف أشعر بذلك ~ أخيرًا ، آمل أن يكتسب الجميع شيئًا عند قراءة مدونتي!
لن أقول هراء. دعنا نلخص مشروع هذا المركز التجاري عبر الإنترنت أدناه. لن أغطي كل شيء. يتم تقسيمها بشكل أساسي إلى عدة وحدات لتلخيصها ، بما في ذلك التقنيات المستخدمة ، وما إلى ذلك. سأقوم بتوصيل رابط سريع بالتفاصيل المحددة في المقالة. يمكنك التحقق من مقالة محددة.
مع تذكر هذا المشروع ، يمكن تقسيمه إلى هذه الوحدات الرئيسية:
--- بناء بيئة المشروع
--- بناء نظام إدارة الخلفية
--- بناء صفحة عرض مكتب الاستقبال
--- وظائف عربة التسوق
--- وظيفة الدفع عبر الإنترنت
--- إرسال البريد الإلكتروني والرسائل النصية
--- تطبيق اسم المجال ونشر المشروع
--- التحقق من النموذج وعرض التقرير
فيما يلي تحليل محدد لكل وحدة.
1. بناء بيئة المشروع
هذا رابط لا غنى عنه في كل مشروع ، وسيكون هناك العديد من المشكلات الفوضوية. عندما بدأت في تعلم SSH لأول مرة ، ناضلت دائمًا لبناء البيئة لأنني لم أكن ماهرًا للغاية ، لكنني أردت فقط أن أبنيها "إيقاعي". وهذا يعني أن بناء مشروع بيئي يتطلب خطوة بخطوة ، فشيئًا. سيقوم العديد من الأشخاص باستيراد جميع حزم الجرة فيها ، ثم يكتبون جميع ملفات التكوين أو لصقها من أماكن أخرى ، ثم قم بتشغيلها ، ثم تعليقها ... ثم العثور على مشاكل مختلفة. لماذا تهتم؟ وبهذه الطريقة ، حتى لو قمت بإنشائها 10 مرات ، فلن تتمكن من القيام بذلك بسهولة. عليك أن تأكل الأرز في لدغة واحدة ، وعليك أن تمشي خطوة بخطوة.
العملية التي أتابعها شخصيًا لبناء بيئة SSH هي:
Spring> Hibernate> repration ybernate integration> Struts2> SPRING Integration Struts2
بعد كل خطوة ، اكتب اختبار اختبار. هذا أمر مهم للغاية ، لأنه إذا ذهبت خطوة بخطوة ، فستعرف إلى أين تذهب إذا ارتكبت خطأً وأين تجد المشكلة. أهم شيء هو أنه إذا أصبحت بارعًا في هذه العملية ، فسيكون من السهل الحصول على البيئة في المرة القادمة. لمزيد من المعلومات حول بناء البيئة SSH ، يرجى الاطلاع على المقالة التالية:
دمج Struts2 و Hibernate4.3 و Spring4.2
الإضافة الأساسية ، الحذف ، البحث والتعديل ، استخراج الخدمة والعمل ، واستبدال XML مع التعليقات التوضيحية
2. بناء نظام إدارة الخلفية
يمكنني استخدام Easyui لبناء نظام إدارة الواجهة الخلفية. أن نكون صادقين ، لدي فقط القليل من الفهم لـ Easyui. لا أعرف الكثير عن الأشياء الأمامية ، لكنني أفهم قليلاً. لقد راجعت لهم جميعًا عندما أستخدمها. لم أتعلمها بشكل منهجي ، لذلك ليس لدي نظام معرفة جيد ، لكن هذا لا يؤثر على اللعب. يحب المبرمجون أن يقولوا إنهم يلعبون تقنية ، ويبدوون راقية للغاية. لقد تأثرت تدريجياً وأحب أن أقول ذلك ، لكنني ألعب حقًا مع الواجهة الأمامية ...
JQuery Easyui هي مجموعة من المكونات الإضافية للاتصالات المستندة إلى jQuery ، وهدف jQuery Easyui هو مساعدة مطوري الويب على إنشاء واجهة واجهة المستخدم غنية بالميزات وجميلة. لا يحتاج المطورون إلى كتابة JavaScript المعقدة ، ولا يحتاجون إلى فهم متعمق لأنماط CSS. جميع المطورين بحاجة إلى معرفة بعض علامات HTML البسيطة.
طلبات Easyui هي جميع طلبات Ajax ، ولن تظهر صفحات جديدة ، فهي جميعها في علامة التبويب أو نافذة تنبثق. ينقسم نظام إدارة الخلفية بشكل أساسي إلى ثلاثة أجزاء: إدارة فئة المنتج وإدارة المنتجات وإدارة المبيعات. إدارة المبيعات هي الأخيرة.
2.1 إدارة فئة المنتج
يتضمن هذا الجزء أساسًا بناء بيئة EasyUI وإطار الخلفية ، والاستعلام المتتالي وتوصل إلى قواعد البيانات ، وعرض بيانات البيانات ، و STRUTS2 Integration JSON ، وإضافة فئات المنتجات والحذف والتحديث والبحث. يتبع هذا أيضًا سلسلة من الإكمال في هذا القسم.
يعرض DataGrid البيانات في شكل جدول ، ولا يحتاج المطورون إلى معرفة محددة لتشغيلها. لديها وثيقة مساعدة جيدة وأكثر تفصيلا. في هذا المشروع ، قمت أيضًا بتقديم عدة طرق لإنشاء DataGrid ، وقدمت أيضًا باختصار بعض خصائص DataGrid. إنها بداية. أنا أيضًا أداة تمهيدية. فقط من خلال تطوير المزيد ، يمكنني إتقان هذه التكنولوجيا.
تستخدم وظائف الفئات والحذف والتحديث والبحث بشكل أساسي وظيفة التحقق التي تأتي مع EasyUI. عند إضافة فئات المنتجات ، تحقق مما إذا كان الإدخال في مربع الإدخال صحيحًا ، وما إذا كان ذلك مطلوبًا ، وما إلى ذلك ؛ ما إذا كان يتم اختيار سطر معين أو عدة خطوط أولاً عند الحذف ؛ عند التحديث ، يمكن تحديث سطر واحد فقط في وقت واحد ، وما إلى ذلك ، وكلها طلبات Ajax.
لمزيد من المعلومات حول هذا الجزء ، قمت بالفعل بتصنيفه ، يرجى الرجوع إلى هذه المقالات:
استخدم Easyui لإنشاء إطار صفحة خلفية. قائمة Easyui لتنفيذ الاستعلام المتتالي وتوصل إلى ترقيم قواعد البيانات. بيانات DataGrid Display STRUTS2 و JSON DATAGRID متكاملة لتنفيذ الاستعلام وحذف دالة بيانات DATAGRID لتنفيذ الإضافة وتحديث دالة بيانات DATAGRID لتنفيذ وظيفة الإضافة والتحديث
فيما يلي المشاكل التي واجهتها:
مشكلة استثناء التحميل كسول في Struts2 و JSON Integration Hibernate4 تنفيذ حفظ () أو تحديث () غير صالح
2.2 إدارة المنتج
تتضمن إدارة المنتج أيضًا عمليات مثل إضافة وحذف ، والتي هي نفس إدارة الفئات. هناك شيء واحد يضيف المنتجات ويحتاج إلى تحميل صور للمنتجات. يتضمن ذلك وظيفة Struts2 لتنفيذ تحميلات الملفات. نحتاج إلى إنشاء مجلد على جانب الخادم لتخزين الملفات التي تم تحميلها ، ثم كتابة نموذج لتلقي الملفات. بخصوص تحميل الملف ، نحتاج إلى كتابة فئة الأدوات على وجه التحديد. هذه هي الطريقة التي يكون بها التطور في المشروع. يجب استخلاص التعليمات البرمجية الشائعة ، حتى لو كانت هناك جملة واحدة فقط من الكود ، فيجب استخلاصها! هذه عادة ويجب القيام بها. للحصول على تفاصيل محددة ، يرجى الرجوع إلى المقالات المذكورة أدناه:
تم تصميم الوحدة الأساسية لفئة المنتج ويتم تطبيق وظيفة المنتج وحذفها. يتم تنفيذ تنفيذ وظيفة المنتج. يتم تنفيذ تنفيذ وظيفة تحميل الملف.
3. قم ببناء صفحة عرض مكتب الاستقبال
بالطبع ، لم يتم تصميم الصفحة الأمامية من قبلي. لقد لخصت بعض التقنيات الخلفية المتعلقة بعرض الواجهة الأمامية ، مثل: يحصل المستمع على بيانات الصفحة الرئيسية ، ويقوم المؤقت بمزامنة بيانات الصفحة الرئيسية ، وذاكرة التخزين المؤقت لعلاج ذاكرة التخزين المؤقت من المستوى 2 من Hibernate.
عندما كنت أتعلم Servlet ، هكذا فعلت بيانات عرض الصفحة الرئيسية. لقد استخدمت إطارًا وعرضت البيانات على اليمين. ثم قفزت إلى servlet في الجزء الأيمن في index.jsp ، ثم ذهبت إلى servlet لإخراج جميع المنتجات من قاعدة البيانات ، ووضعها في حقل الطلب وجلبت صفحة JSP الجديدة لعرضها. على الرغم من أنه يمكن تحقيق ذلك ، إلا أنه غبي للغاية. هنا استخدمت مستمع للقيام بذلك. أولاً ، حددت مستمعًا بنفسي ، وعندما بدأ المشروع ، أخذت جميع معلومات المنتج في قاعدة البيانات ، ووضعها في مجال التطبيق ، ثم استخدمت مباشرة تعبيرات EL لاستردادها من مجال التطبيق في الصفحة الرئيسية.
هناك مشكلة أخرى. عندما أضيف منتجًا جديدًا إلى نظام الإدارة ، يجب علي إعادة تشغيل Tomcat لإضافة المنتج الجديد إلى مجال التطبيق. نظرًا لأنه كان في مجال التطبيق بعد أول مرة أخرجته ، فهي مصممة على الموت. تمت إضافته حديثًا لاحقًا في مجال التطبيق. من أجل حل هذه المشكلة ، استخدمت مؤقتًا لمزامنة بيانات الصفحة الرئيسية. لذلك قمت بإعادة كتابة المستمع الذي كتبته من قبل ، وقمت بتعيين مؤقت في المستمع ، ووضع الكود للحصول على بيانات المنتج في قاعدة البيانات في مهمة الموقت ، وقم بتنفيذها على الفور لأول مرة ، ثم تنفيذها كل 6 ساعات (يمكن تعيين الوقت في الإرادة بنفسك) ، وهذا هو إعادة تكاليف المنتجات في البيانات كل 6 ساعات وحفظها في التطبيق. هذا ما يفعله الموقع العام ، مثل الصفحة الرئيسية للمدونة الشخصية لـ CSDN ، يتم تحديث الترتيب كل يوم ، وربما حوالي الساعة 10 مساءً ، لقد نسيت الوقت المحدد. في ذلك الوقت ، سيرى التحديث تحديث البيانات ، والذي سيقلل أيضًا من الضغط على الخادم.
للحصول على تفاصيل فنية محددة في هذا القسم ، يرجى الرجوع إلى المقالات التالية:
استخدم المستمع لعرض البيانات على الصفحة الرئيسية. كيفية الحصول على مؤشر ترابط ملف تكوين الربيع ، توقيت توقيت توقيت الصفحة الرئيسية الصفحة الرئيسية
4. عربة التسوق الوظائف ذات الصلة
تشمل التقنيات الرئيسية المشاركة في عربة التسوق ما يلي: معالجة الخلفية لمنطق عربات التسوق وعناصر التسوق ، وتسجيل الدخول إلى الحكم ، وتسجيل الطلبات المتتالية في قاعدة البيانات ، والتخزين المؤقت للصفحات.
بالنسبة لعربات التسوق ، فإنه يحتوي بشكل أساسي على بعض منطق التنفيذ في الواجهة الخلفية. هناك عناصر التسوق في عربة التسوق. ماذا يعني ذلك؟ نعلم جميعًا أنه عندما نشتري الأشياء على TMALL ، يمكننا وضع منتجات مختلفة في عربة التسوق ، ثم هناك العديد من المنتجات في عربة التسوق ، ويمكن أن يكون لكل منتج كميات متعددة. كل منتج ومعلوماته ذات الصلة هي عنصر التسوق. لذلك ، عند إضافة عربة تسوق ، يجب علينا أولاً إكمال عنصر التسوق ثم إضافة عنصر التسوق هذا إلى عربة التسوق.
عندما يرغب المستخدم في التسوية ، يجب علينا أولاً تحديد ما إذا كان المستخدم قد قام بتسجيل الدخول. يستخدم هذا تقنية المرشح ، والذي يقوم على وجه التحديد بتصفية نوع معين من عنوان URL ، ويحدد ما إذا كان هناك كائن مستخدم في الجلسة الحالية في المرشح. إذا كان هناك أي إشارة إلى أن تسجيل الدخول قد تم تسجيل الدخول ، فما عليك سوى إطلاقه مباشرة. إذا لم يكن الأمر كذلك ، فقم إلى صفحة تسجيل الدخول للسماح للمستخدم بتسجيل الدخول. بعد تسجيل الدخول ، قفز إلى الصفحة التي أرادها المستخدم في الأصل. إنه مثل البواب ~ النظر إلى الباب ~
كما ذكرنا الآن ، تتضمن معلومات الطلب عربات التسوق وعناصر التسوق. عندما ندخل الطلبات ، يجب أن نفكر في مشكلاتهم المتتالية. يمكننا تعيين سمات التعليقات التوضيحية المقابلة في pojos من الاثنين. ومع ذلك ، هناك شرط أساسي. على سبيل المثال ، إذا كان هناك ارتباط مفتاح خارجي ، فيجب تعيين الحقول في الجزء المفتاح الخارجي من POJO المقابل قيمة جيدة قبل الدخول إلى POJO. على سبيل المثال ، يجب إضافة الطلب إلى عنصر السطر ، ويجب أيضًا تعيين سمات الطلب في عنصر السطر قيمة جيدة قبل تسليمها إلى السبات. يمتلك السبات في المكتبة وفقًا للشروح التي تم تكوينها (أو ملف XML).
تشير مشكلة التخزين المؤقت للصفحة إلى ذلك عندما يؤكد المستخدم الطلب ، إذا نقر مرة أخرى ، فسيعود إلى صفحة تأكيد الطلب. تأتي صفحة تأكيد الطلبات الآن مرة أخرى ، وما زالت الجلسة موجودة ، ولا تزال المعلومات هي المعلومات الآن. من الواضح أن هذه ليست النتيجة التي نريدها. نحتاج إلى معالجته في مكتب الاستقبال والخلفية في نفس الوقت.
يرجى الرجوع إلى المقالات التالية للحصول على تفاصيل تقنية محددة في هذا القسم:
تنفيذ الوظائف الأساسية لفلتر عربة التسوق لتحقيق وظيفة تسجيل الدخول لتحديد تخزين المتتالية ومسائل التخزين المؤقت للصفحات
5. وظيفة الدفع عبر الإنترنت
يقدم هذا الجزء بشكل أساسي بعض الأشياء حول واجهة دفع Yibao. في الواقع ، تختلف وظائف الدفع عبر الإنترنت لأطراف ثالثة مختلفة. الغرض الرئيسي هو فهم عملية تطوير وظائف الدفع عبر الإنترنت. تعتمد التفاصيل الفنية المحددة على المعلومات التي توفرها أطراف ثالثة محددة. لكن العملية العامة هي: استدعاء واجهة الطرف الثالث> استدعاء واجهة البنك> إكمال الدفع> يعود الطرف الثالث إلى الصفحة التي حددناها.
يتضمن هذا الجزء أيضًا تقنية مهمة ، وهي كيفية تعامل STRUTS2 مع طلبات النماذج المتعددة. بشكل عام ، يمكن لـ Struts2 استخدام النموذج قيد التنفيذ بعد تنفيذ ModEdRiven <Dode> ، ولكن ماذا لو كان هناك نموذجان الآن؟ هناك واجهة أخرى تسمى parametersaware في Struts2. طالما تم تنفيذ هذه الواجهة وخريطة تخزن المعلمات ، يمكن أن تتلقى جميع المعلمات في طلب الطلب. يمكننا الحكم على النموذج الذي يجب استخدامه بناءً على معلمات مختلفة. يمكن أن تحل هذه الطريقة مشكلة Struts2 التعامل مع طلبات نموذج متعددة.
للحصول على التفاصيل الفنية في هذا القسم ، يرجى الرجوع إلى منشور المدونة التالي:
مقدمة لمنصة الدفع عبر الإنترنت ، عرض تجريبي لعملية الدفع Yibao
احصل على عرض الرموز المصرفية وصفحات الدفع لإكمال منطق وظيفة الدفع عبر الإنترنت كيفية التعامل مع طلبات النماذج المتعددة في Struts2
6. البريد الإلكتروني والرسائل القصيرة الإرسال وظيفة
إرسال رسائل البريد الإلكتروني وإرسال الرسائل النصية بسيطة نسبيًا. كلاهما واجهات برمجة التطبيقات الثابتة ، فقط تعرف على كيفية استخدامها. فقط تحقق منها ، ولا أستطيع أن أتذكرهم أيضًا. تحتاج وظيفة إرسال البريد الإلكتروني إلى استيراد حزمة mail.jar ، ثم إرسال رسائل البريد الإلكتروني وفقًا للعملية. يجب أن تطبق وظيفة الرسائل القصيرة أولاً لوظيفة إرسال الرسائل القصيرة. بعد اكتمال الطلب ، سيوفر لنا الطرف الثالث بعض واجهات API. يمكننا تطوير وظيفة إرسال الرسائل القصيرة طالما نشير إليها. إنه يشبه إلى حد ما وظيفة الدفع ، ويعتمدون جميعًا على منصات الطرف الثالث.
لا توجد صعوبات تقنية في هذا الجزء ، وخاصة العملية ، المقالات ذات الصلة هي كما يلي:
إرسال وظيفة الرسائل النصية القصيرة بعد اكتمال دفع الطلبات الناجحة باستخدام البريد الإلكتروني Java للمستخدمين
7. طلب مساحة اسم المجال ونشر المشاريع وإصدارها
يقدم هذا القسم بشكل أساسي كيفية التقدم بطلب للحصول على مساحة مجانية للمجال (مجانًا لمدة 15 يومًا فقط ~ ولكن للتعلم ، يكفي ~). على الرغم من أن جميعهم ليسوا أحرارًا ، إلا أننا نحتاج بشكل أساسي إلى اكتشاف هذه العملية. من الأفضل أن تمر بنفسك. لا يتعين عليه بالضرورة تحميل مشروع كامل. صفحة JSP أو صفحة ثابتة HTML جيدة.
هناك طريقتان رئيسيتان لنشر ونشر مشروع: أحدهما هو التحميل باستخدام FTP ، ولكن هذا بطيء وقد يفقد البيانات. التجربة الشخصية هي إصدارها شيئًا فشيئًا ؛ هناك طريقة أخرى تتمثل في التقدم بطلب للحصول على مساحة اسم مجال لتوفير بيئة نشر. نحتاج فقط إلى تصدير المشروع كحزمة حرب ثم نشر حزمة الحرب.
هناك العديد من التفاصيل التي يجب الانتباه إليها قبل نشر المشروع ، مثل تعديل بعض المسارات ، وتعديل بعض البيانات ، وما إلى ذلك. يتم شرح هذه التفاصيل بالتفصيل في مدونتي. يحتوي هذا القسم على مقالة واحدة ، على النحو التالي:
طلب مساحة اسم المجال ونشره وإصداره للمشروع
8. التحقق من النموذج وعرض التقرير
تتم إضافة بعض الأشياء لاحقًا ، والتي تقوم Ajax بتحديث كمية المنتجات في عربة التسوق ، والتحقق من النماذج وعرض التقارير.
عدد المنتجات في عربة التسوق الديناميكية هي تقنية Ajax Pure. لقد تعلمت ذلك للتو. التحقق من النموذج هو أساسا نموذج تسجيل الدخول. لم أقم بتسجيل الدخول في هذا المشروع ، لكنني صنعت نموذج تسجيل الدخول وتتم أيضًا وظيفة التحقق. الاستخدام الرئيسي هو مكون التحقق من التحقق من صحة jQuery. هذا المكون الإضافي لا يزال قوياً للغاية. يمكنك إضافة نموذج تسجيل الدخول مباشرة إلى المشروع وتعيين القفزة المقابلة. الاستخدام الرئيسي لـ JSchart لعرض التقارير هو JSchart. هذه الأداة مفيدة للغاية ويمكنها إنشاء رمز JS استجابة. ما يتعين علينا القيام به هو إرسال طلبات Ajax إلى الواجهة الخلفية ، واسترداد البيانات من الواجهة الخلفية وفقًا للاحتياجات الفعلية ، ونقلها إلى الواجهة الأمامية لعرضها باستخدام مخطط JSChart.
سأدرج منشورات المدونة في هذا القسم أدناه:
استخدم تقنية AJAX لتحديث كمية المنتج جزئيًا وإجمالي المكون الإضافي لـ JQuery Veactive Veacher لعرض تقارير مبيعات المنتج في الخلفية باستخدام تقنية JSChart
هذا هو مشروع المركز التجاري عبر الإنترنت الذي كتب الكثير. تتم مزامنة رمز المصدر في قناة تنزيل CSDN مع مدونتي. إذا كنت في حاجة إليها ، يمكنك تنزيل الكود المصدري الذي قمت بتحميله في CSDN (مجاني ~ جميع موارداتي مجانية). إذا أردت الاستمرار في تحسينه لاحقًا ، فسوف أضعه في جيثب. الجميع مدعوون أيضًا لمتابعة GitHub (على الرغم من أنه متوسط ~) مشروع النجوم الذي قمت بتحميله ~ ما يلي هو عنوان التنزيل المحدد:
تنزيل العنوان (المزامنة مع محتوى المدونة)
عنوان تنزيل Github (إذا كان هناك تحديث لاحقًا ، فسيتم وضعه هنا)
العنوان الأصلي: http://blog.csdn.net/eson_15/article/details/51479994#download
ما سبق هو كل محتوى هذه المقالة. آمل أن يكون ذلك مفيدًا لتعلم الجميع وآمل أن يدعم الجميع wulin.com أكثر.