صفحة تسجيل الدخول الفعلية لـ JBuilder2005 إلى JSP (2)
الكاتب:Eve Coleوقت التحديث:2009-07-02 17:10:51
من خلال ملف->جديد...->ويب->النقر المزدوج على أيقونة JSP، سينبثق مربع الحوار الخاص بإنشاء معالج JSP، كما هو موضح في الشكل التالي:
الشكل 3: قم بإنشاء ملف login.jsp من خلال المعالج
·وحدة الويب: إذا كانت هناك وحدات ويب متعددة ضمن المشروع، يمكنك تحديد وحدة الويب التي تتم إضافة JSP إليها هنا نظرًا لوجود وحدة webModule واحدة فقط في مشروعنا، فسيقوم المعالج بتعيينها على webModule بشكل افتراضي.
·الاسم: اكتب اسم ملف JSP. يمكنك كتابة اللاحقة .jsp، أو يمكنك كتابة تسجيل الدخول مباشرة بدون اللاحقة.
بعد تحديد خيار إنشاء عينة من الفول، سيقوم JBuilder بإنشاء عينة من الفول وتقديم الفول في JSP. بالنسبة للمبتدئين، يمكنك استخدام هذا الخيار لمعرفة كيف يشير JSP إلى Bean، وسيقوم خيار إنشاء صفحة خطأ تلقائيًا بإنشاء خطأ مطابق في معالجة ملف JSP لـ JSP.
انقر فوق "إنهاء" مباشرةً لإنشاء ملف login.jsp. يظهر ملف login.jsp في برنامج التحويل البرمجي لجزء المحتوى، كما هو موضح في الشكل التالي:
الشكل 4: ملف JSP تم إنشاؤه بواسطة المعالج
يوجد واحد على الجانبين الأيسر والأيمن من نافذة تجميع JSP يمكن تمريره و الشريط العمودي الذي يتم التحكم فيه عن طريق الأزرار. العمود الأيسر عبارة عن لوحة لوضع علامات JSP وعلامات HTML. يمكنك سحب وإفلات العلامات المختلفة في ملف JSP تمامًا كما هو الحال في مصمم واجهة المستخدم المرئية يتم وضع علامات HTML من اللوحة في ملف login.jsp.
العمود الرأسي الموجود على اليمين هو مترجم السمة للملصق حيث يوجد المؤشر الحالي في ملف JSP، كما هو موضح في الشكل التالي:
الشكل 5: قم بتعيين محرر سمات علامة JSP
يكون محرر الخصائص ديناميكيًا. عندما يتم نقل المؤشر إلى تسميات مختلفة، يعرض محرر الخصائص كافة الخصائص القابلة للتعيين لهذه التسمية. كما هو موضح في الشكل أعلاه، فهو يتوافق مع محرر السمات لعلامة نموذج HTML، وقمنا بتعيين سمة الإجراء الخاصة به على Switch.jsp وحددنا استخدام POST لإرسال بيانات الطلب.
نحن نقدم مربعًا منسدلًا لاسم المستخدم ومربعًا لإدخال كلمة المرور وزر إرسال تسجيل الدخول في ملف login.jsp. الرمز كما يلي:
تمثل علامة النموذج نموذجًا في صفحة ويب. يمكن أن يحتوي النموذج على مكونات متعددة. بعد إرسال نموذج الويب، يتم إرسال بيانات هذه المكونات إلى ملف JSP المحدد بواسطة سمة الإجراء من خلال بروتوكول HTTP للمعالجة. يتم إرسال بيانات النموذج بشكل عام عبر POST. طريقة الإرسال POST ليس لها حدود على كمية البيانات وهي أكثر سرية.
صفحة التأثير الخاصة بـlogin.jsp كما هو موضح أدناه:
الشكل 6: صفحة الدخول الخاصة بـlogin.jsp
الخبرة العملية:
يحتوي كود ملف JSP على أجزاء ثابتة وديناميكية، أي جزء واحد هو كود HTML، والجزء الآخر عبارة عن علامات JSP ورمز Scriptlet. JSP بشكل عام عبارة عن صفحة ويب ذات منطق ديناميكي. يدعم JBuilder أجزاء التعليمات البرمجية الديناميكية مثل علامات JSP والنصوص البرمجية بشكل جيد للغاية. يمكنك استخدام أدوات مثل CodeInsight وTagInsight لإكمال الترميز بسرعة وبشكل صحيح، ويمكنك أيضًا تجميع JSP وتصحيح أخطائه. فيما يتعلق بكتابة أكواد HTML الثابتة والتصميم المرئي لـ JSP، يبدو أن JBuilder غير مناسب، ومن الواضح أن Dreamweaver أفضل من JBuilder في التعليمات البرمجية الثابتة والتصميم المرئي.
تعقيد الأشياء يعزز تقسيم العمل، والتقسيم الدقيق للعمل يعزز التطوير المهني. عند كتابة JSP، ليس الأمر أنه بمجرد حصولك على JBuilder، لن يكون لديك أي شيء آخر لتفعله. Han Xinshanbing وXiao Heshanmou، إذا كان بإمكانك الجمع بين Dreamweaver وJBuilder، واستخدام Dreamweaver لتطوير الجزء المرئي من JSP، واستخدام JBuilder لتطوير جزء التعليمات البرمجية الديناميكي من JSP، فسوف يكمل الاثنان بعضهما البعض ويكمل كل منهما الآخر، وJSP سوف تصبح أعمال التطوير أكثر بساطة.
تغيير قائمة المستخدمين إلى ديناميكية
يوجد عيب في ملفlogin.jsp الذي تم إنشاؤه حاليًا. افترض أنه عند إضافة مستخدمين آخرين إلى جدول T_USER في خلفية قاعدة البيانات، نظرًا لأن المربع المنسدل لاسم المستخدم عبارة عن رمز ثابت، فلن يظهر المستخدم الذي تم إنشاؤه حديثًا على الصفحة، لذلك من الضروري إضافة المستخدم. يتم تغيير قائمة الأسماء إلى رمز ديناميكي، ويتم استخدام سجلات جدول قاعدة البيانات T_USER لإنشاء بيانات المربع المنسدل ديناميكيًا.
نكمل هذا العمل من خلال فئة UserList.ava وننشئ UserList.java في المشروع، ويكون الكود كما يلي:
قائمة التعليمات البرمجية 5 UserList.java
1. حزمة مكتبة. 2. استيراد java.sql.*; 3. 4. قائمة المستخدمين للفئة العامة 5. { 6. //احصل على رمز قائمة المستخدمين لمربع HTML المنسدل 7. سلسلة ثابتة عامة getUserListHTML() { 8. اتصال conn = null; 9. StringBuffer sBuf = new StringBuffer(); 10. حاول { 11.conn = DBConnection.getConnection(); 12. PreparedStatement pStat = conn.prepareStatement( 13. "اختر USER_ID،USER_NAME من T_USER")؛ 14.ResultSet rs = pStat.executeQuery(); 15. بينما (rs.next()) { 16. sBuf.append("<option value='" + rs.getString("USER_ID") + "'>" + 17.rs.getString("USER_NAME") + "</option>n"); 18. } 19.return sBuf.toString(); 20. } قبض (SQLException على سبيل المثال) { 21.ex.printStackTrace(); 22. العودة ""؛ 23. } أخيرا { 24. حاول { 25. إذا (كون ! = فارغة) { 26.conn. Close(); 27.conn = null; 28. } 29. } قبض على (SQLException ex1) { 30. } 31. } 32. } 33. }
يوفر UserList.java فقط أسلوب getUserListHTML() الثابت، الذي يحصل على سجلات المستخدم من جدول T_USER في قاعدة بيانات الواجهة الخلفية ويقوم بإنشاء رمز الخيار لمكون تحديد HTML، كما هو موضح في الأسطر من 16 إلى 17.
بعد إنشاء هذه الفئة، نشير إلى هذه الفئة لضبط رمز تسجيل الدخول.jsp أولاً، قم بالإشارة إلى فئة UserList من خلال سمة الاستيراد في علامة تعليمات الصفحة، ثم قم بضبط المحتوى في خيار التحديد على القيمة التي يتم إرجاعها بواسطة طريقة getUserListHTML()، كما هو موضح في الشكل أدناه إظهار:
الشكل 7: كتابة التعليمات البرمجية من خلال CodeInsight
استبدل كود HTML الثابت الأصلي من خلال علامات التعبير ومن الجدير بالذكر أنه يمكنك أيضًا استخدام CodeInsight لإدخال التعليمات البرمجية في JSP تمامًا مثل كتابة فئات Java العامة. رمز تسجيل الدخول المعدل.jsp هو كما يلي، بالخط العريض:
قائمة الأكواد 6: كود تسجيل الدخول.jsp المعدل
1. <%@page contentType="text/html; charset=GBK" import="bookstore.UserList" %> 2.<html> 3. <الرأس> 4. <العنوان> تسجيل الدخول>/العنوان> 5.</الرأس> 6.<body bgcolor="#ffffff"> 7. <اسم النموذج = "نموذج 1" طريقة = "post" action = "switch.jsp"> اسم المستخدم: 8. <اختر الاسم = "معرف المستخدم"> 9. <قيمة الخيار = "" محددة>--تسجيل دخول المستخدم--</option> 10. <%=UserList.getUserListHTML()%> 11.</اختر> 12. كلمة المرور: <اسم الإدخال = "كلمة المرور" نوع = "كلمة المرور"> 13. <نوع الإدخال = "إرسال" الاسم = "إرسال" القيمة = "تسجيل الدخول"> 14.</نموذج> 15.</الجسم> 16.</html>
بعد حفظ تسجيل الدخول.jsp، انقر بزر الماوس الأيمن فوق تسمية ملف تسجيل الدخول.jsp في جزء المحتوى وحدد تشغيل الويب باستخدام الإعدادات الافتراضية، وسيقوم JBuilder ببدء تشغيل خادم تطبيق Tomcat 5.0، وتشغيله على المنفذ 8080، وتجميع ملف تسجيل الدخول.jsp وتشغيله. كما هو مبين في الشكل أدناه عرض:
الشكل 8: تشغيل login.jsp في JBuilder
يقوم JBuilder تلقائيًا بالتبديل إلى صفحة عرض الويب لعرض تأثير تشغيل الصفحة. ومع ذلك، فإن متصفح JBuilder يتمتع بدعم ضعيف جدًا لصفحات الويب ولا يدعم برامج JavaScript النصية. لذلك، بعد تشغيل login.jsp، من الأفضل عرض تأثير صفحة الويب من خلال IE، ما عليك سوى فتح IE ونسخ عنوان الوصول login.jsp في JBuilder إلى شريط العناوين الخاص بـ IE، كما هو موضح في الصورة. الشكل أدناه :
الشكل 9 استخدم IE للوصول إلى ملف login.jsp الذي يعمل في JBuilder
في هذا الوقت، يكون المستخدمون الموجودون في المربع المنسدل لاسم المستخدم موجودين بالفعل في قائمة المستخدمين الديناميكية. عند إضافة المستخدمين أو حذفهم في جدول T_USER، سيتغير المستخدمون في المربع المنسدل أيضًا وفقًا لذلك.
قبل تشغيل JSP، من الأفضل تجميع ملف JSP هذا بشكل منفصل: انقر بزر الماوس الأيمن على تسمية ملف JSP في جزء المحتوى وحدد إنشاء "xxx.jsp" في القائمة المنبثقة لإكمال تجميع ملف JSP واكتشافه ذلك في الوقت المناسب. عند تحرير ملفات JSP وملفات Java، يتمثل الاختلاف الأكبر في أن أي أخطاء في ملفات برنامج Java سيتم إدراجها في المحرر وجزء البنية، ولكن بعض الأخطاء في ملفات JSP تحتاج إلى تجميع حتى يتم اكتشافها.
تَلمِيح:
نظرًا لأن تجميع ملف JSP يتطلب أولاً تحويله إلى ملف Servlet، ثم تجميع ملف Servlet الوسيط، في حالة حدوث خطأ، ستتم إعادة توجيهه إلى ملف JSP، لذلك فإن تجميع ملف JSP يستغرق وقتًا أطول وغالبًا ما يستغرق ذلك أطول من تجميع ملف Java عدة مرات. بشكل افتراضي، عند تجميع المشروع، سيتم تجميع جميع JSPs في المشروع بأكمله، الأمر الذي يستغرق الكثير من الوقت. لذلك، من الأفضل إلغاء إعداد تجميع ملفات JSP مع مشروع التجميع: من خلال Project->خصائص المشروع...->Build-> قم بإلغاء خيار التحقق من JSPs بحثًا عن أخطاء في وقت الإنشاء في صفحة إعدادات البناء. حدد هذا الخيار عندما تحتاج إليه حقًا، وقم بإلغاء هذا الخيار فورًا بعد التجميع. سيوفر لك هذا الإعداد الكثير من الوقت الثمين في التطوير.