Latest web development tutorials

JSP التصحيح

لاختبار / التصحيح لJSP أو برنامج بريمج هو دائما صعبة للغاية. إجراءات التخطيط الاستراتيجي المشترك وسيرفلتس تميل إلى تنطوي على التفاعل بين عدد كبير من العميل / الخادم، والتي من المرجح أن إنشاء خطأ، وأنه من الصعب إعادة إنشاء بيئة خطأ.

ستعطى التالي بعض النصائح والنصائح لمساعدتك على تصحيح البرنامج.


استخدام System.out.println ()

System.out.println () يمكن بسهولة ويتم تنفيذ مجموعة من التعليمات البرمجية العلم. بالطبع، يمكننا أيضا طباعة مجموعة متنوعة من القيم. وبالإضافة إلى ذلك:

  • منذ الكائن النظام يصبح الكائن جافا الأساسية التي يمكن استخدامها في أي مكان دون إدخال فصول إضافية. بما في ذلك استخدام سيرفلتس، JSP، RMI، وEJB، والفول، والطبقات والتطبيقات القائمة بذاتها.
  • مقارنة مع توقف في نقطة الإيقاف، وذلك باستخدام الناتج System.out لن يكون لها تأثير كبير على تشغيل تطبيقات عملية، وهذه الميزة مهمة جدا في آلية توقيت تطبيق مفيد جدا.

المقبل، نظرا لSystem.out.println جملة () هو:

System.out.println("Debugging message");

هذا مثال بسيط لاستخدام System.out.print () هو:

<%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<html>
<head><title>System.out.println</title></head>
<body>
<c:forEach var="counter" begin="1" end="10" step="1" >
   <c:out value="${counter-5}"/></br>
   <% System.out.println( "counter= " + 
                     pageContext.findAttribute("counter") ); %>
</c:forEach>
</body>
</html>

الآن، إذا قمت بتشغيل المثال أعلاه، بعد ذلك سوف تؤدي إلى النتائج التالية:

-4
-3
-2
-1
0
1
2
3
4
5

إذا كنت تستخدم خادم قط، سوف تكون قادرة على العثور على أكثر من الإجراءات التالية في ملف stdout.log بتسجيل الدليل تحت:

counter=1
counter=2
counter=3
counter=4
counter=5
counter=6
counter=7
counter=8
counter=9
counter=10

باستخدام هذه الطريقة من المتغيرات وغيرها من المعلومات يمكن أن يكون الإخراج إلى سجل النظام لتحليل المشكلة ومعرفة سبب من الأسباب العميقة الجذور.


استخدام مجلس الدفاع المشترك المسجل

يوفر إطار تسجيل J2SE خدمات التسجيل لأي فئة التوالي في JVM. حتى نتمكن من استخدام هذا الإطار لتسجيل أي معلومات.

دعونا إعادة كتابة التعليمات البرمجية أعلاه، استخدم مسجل API جدك:

<%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@page import="java.util.logging.Logger" %>

<html>
<head><title>Logger.info</title></head>
<body>
<% Logger logger=Logger.getLogger(this.getClass().getName());%>

<c:forEach var="counter" begin="1" end="10" step="1" >
   <c:set var="myCount" value="${counter-5}" />
   <c:out value="${myCount}"/></br>
   <% String message = "counter="
                  + pageContext.findAttribute("counter")
                  + " myCount="
                  + pageContext.findAttribute("myCount");
                  logger.info( message );
   %>
</c:forEach>
</body>
</html>

وهو مشابه لنتائج سابقة، لكن يمكن الحصول على معلومات إضافية إلى ملف stdout.log. نحن هنا استخدام الأسلوب معلومات مسجل. فيما يلي نقدم ملف لقطة stdout.log:

24-Sep-2013 23:31:31 org.apache.jsp.main_jsp _jspService
INFO: counter=1 myCount=-4
24-Sep-2013 23:31:31 org.apache.jsp.main_jsp _jspService
INFO: counter=2 myCount=-3
24-Sep-2013 23:31:31 org.apache.jsp.main_jsp _jspService
INFO: counter=3 myCount=-2
24-Sep-2013 23:31:31 org.apache.jsp.main_jsp _jspService
INFO: counter=4 myCount=-1
24-Sep-2013 23:31:31 org.apache.jsp.main_jsp _jspService
INFO: counter=5 myCount=0
24-Sep-2013 23:31:31 org.apache.jsp.main_jsp _jspService
INFO: counter=6 myCount=1
24-Sep-2013 23:31:31 org.apache.jsp.main_jsp _jspService
INFO: counter=7 myCount=2
24-Sep-2013 23:31:31 org.apache.jsp.main_jsp _jspService
INFO: counter=8 myCount=3
24-Sep-2013 23:31:31 org.apache.jsp.main_jsp _jspService
INFO: counter=9 myCount=4
24-Sep-2013 23:31:31 org.apache.jsp.main_jsp _jspService
INFO: counter=10 myCount=5

ويمكن إرسال الرسائل باستخدام مجموعة متنوعة من الأولوية، وذلك باستخدام سيفر ()، محذرا من ()، معلومات ()، التكوين ()، ودفع غرامة ()، أدق ()، أفضل طريقة (). ويستخدم أفضل طريقة () لتسجيل أفضل المعلومات، وقطع () يستخدم أسلوب لتسجيل المعلومات الأكثر خطورة.

استخدام Log4J السجلات إطار الرسائل في ملف مختلف، هذه الرسائل استنادا إلى شدة وأهمية لتصنيف.


أدوات التصحيح

نتبيانس هو هيكل الشجرة ومفتوحة المصدر جافا بيئة التطوير المتكاملة، ودعم تطوير تطبيقات جافا قائمة بذاتها وتطبيقات الشبكة، ولكن أيضا دعم التخطيط الاستراتيجي المشترك التصحيح.

نتبيانس يدعم ما يلي عدد قليل من ميزات التصحيح الأساسية:

  • نقاط
  • تتبع خطوة واحدة
  • ملاحظة نقطة

معلومات مفصلة يمكن الاطلاع على دليل ل NetBeans.


استخدام مجلس الدفاع المشترك المصحح

يمكنك استخدام الأمر مجلس الدفاع المشترك في التخطيط الاستراتيجي المشترك والسيرفلتس في لتصحيح الأخطاء، تماما مثل التصحيح كتطبيق العادي.

عادة، فإننا نوجه التصحيح sun.servlet.http.HttpServer الاعتراض على عرض الوضع HttpServer تنفيذ JSP / سيرفلتس استجابة لطلبات HTTP. هذه هي مشابهة جدا لتطبيقات التصحيح. والفرق هو أن، برنامج تطبيقات التصحيح الفعلي هو sun.applet.AppletViewer.

أكثر من المصحح عند يمكن تطبيقات التصحيح تتجاهل تلقائيا بعض التفاصيل، لأنه يعلم كيفية تصحيح التطبيقات. إذا كنت ترغب في تصحيح الأشياء JSP نقلها إلى الجسم، ما عليك القيام به أمرين:

  • وضع CLASSPATH المصحح، ويمكن العثور عليها sun.servlet.http.Http-Server و فئات ذات الصلة.
  • وضع CLASSPATH المصحح، لتمكينه من العثور على ملفات JSP والفئات ذات الصلة.

مجموعة CLASSPATH، بدأت التكليف sun.servlet.http.Http خادم. يمكنك تعيين نقاط التوقف في ملف JSP في أي مكان، طالما تريد، ومن ثم استخدام متصفح بإرسال طلب إلى الخادم يجب أن تكون قادرا على رؤية توقف البرنامج في نقطة توقف.


استخدام التعليقات

شروح البرنامج إلى المصحح تلعب دورا مفيدا في كثير من الجوانب. تعليقات يمكن استخدامها في العديد من الطرق في المصحح.

يستخدم JSP الشروح جافا. إذا اختفى الخطأ، يرجى مراجعة التعليقات التي كان مجرد رمز يمكن عادة معرفة السبب.


رئيس وحدات العميل والخادم

أحيانا، عندما لا يتم تشغيل JSP بطريقة محددة سلفا عند عرض طلبات HTTP الخام وردود مفيدة أيضا. إذا كان هيكل هو مألوف جدا مع HTTP، يمكنك مراقبة مباشرة للطلب واستجابة رؤوس ورؤية كيف أن وحدات في نهاية المطاف.


تقنيات تصحيح الأخطاء الهامة

نحن هنا يتم الكشف مرة أخرى اثنين من نصائح التصحيح JSP:

  • باستخدام متصفح يعرض المحتوى الأصلي للصفحة، ويستخدم لتمييز ما إذا كان الشكل. هذا الخيار هو عادة في القائمة عرض.
  • تأكد من أن المتصفح عند إعادة تحميل اضطر الصفحة لا يعبر الناتج من الطلب السابق. إذا كنت تستخدم متصفح نتسكيب نافيجيتور، استخدام التحول، تحديث، وإذا باستخدام متصفح إنترنت إكسبلورر، ثم استخدم SHIFT-تحديث.