Latest web development tutorials

JSP debugging

Untuk menguji / debug JSP atau program servlet selalu begitu sulit. JSP dan Servlets prosedur cenderung melibatkan interaksi antara sejumlah besar client / server, yang kemungkinan akan menghasilkan kesalahan, dan sulit untuk mereproduksi lingkungan kesalahan.

Selanjutnya akan diberikan beberapa tips dan tips untuk membantu Anda debug program Anda.


Gunakan System.out.println ()

System.out.println () dapat dengan mudah bendera sepotong kode dijalankan. Tentu saja, kami juga dapat mencetak berbagai nilai-nilai. Selain itu:

  • Karena objek Sistem menjadi inti objek Java yang dapat digunakan di mana saja tanpa pengenalan kelas tambahan. Termasuk penggunaan Servlets, JSP, RMI, EJB, Kacang, kelas dan aplikasi yang berdiri sendiri.
  • Dibandingkan dengan berhenti di breakpoint, menggunakan System.out keluaran tidak akan memiliki dampak yang signifikan terhadap operasi aplikasi proses, fitur ini sangat penting dalam mekanisme waktu dari aplikasi ini sangat berguna.

Selanjutnya, mengingat sintaks System.out.println () adalah:

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

Ini adalah contoh sederhana menggunakan System.out.print () adalah:

<%@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>

Sekarang, jika Anda menjalankan contoh di atas, maka akan menghasilkan hasil sebagai berikut:

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

Jika Anda menggunakan Tomcat server, Anda akan dapat menemukan beberapa hal berikut dalam file stdout.log log direktori di bawah:

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

Menggunakan metode ini variabel dan informasi lainnya dapat menjadi output ke sistem log untuk menganalisis masalah dan mencari penyebab alasan mendalam.


Gunakan JDB Logger

Kerangka J2SE penebangan menyediakan layanan logging untuk menjalankan kelas dalam JVM. Jadi kita bisa menggunakan kerangka kerja ini untuk merekam informasi.

Mari kita menulis ulang kode di atas, menggunakan JDK logger 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>

Hal ini mirip dengan hasil sebelumnya, tapi bisa mendapatkan informasi tambahan ke file stdout.log. Di sini kita menggunakan metode Info logger. Dibawah ini kami berikan file snapshot 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

Pesan dapat dikirim dengan menggunakan berbagai prioritas, dengan menggunakan sever (), peringatan (), info (), config (), baik (), halus (), () metode terbaik. Metode terbaik () digunakan untuk mencatat informasi terbaik, dan memutuskan () metode yang digunakan untuk merekam informasi yang paling serius.

Gunakan Log4J kerangka log pesan dalam file yang berbeda, pesan-pesan ini berdasarkan tingkat keparahan dan pentingnya untuk mengklasifikasikan.


debugging Alat

NetBeans adalah struktur pohon, open source lingkungan pengembangan Java terintegrasi, mendukung pengembangan aplikasi Java yang berdiri sendiri dan aplikasi jaringan, tetapi juga mendukung JSP debugging.

NetBeans mendukung berikut beberapa fitur debugging dasar:

  • breakpoints
  • Single-langkah pelacakan
  • Observation Point

Informasi lengkap dapat pengguna NetBeans dilihat.


Gunakan JDB Debugger

Anda dapat menggunakan perintah JDB di JSP dan servlet in untuk debugging, seperti debug seperti aplikasi biasa.

Biasanya, kita langsung debugging sun.servlet.http.HttpServer keberatan untuk melihat situasi HTTPServer pelaksanaan JSP / Servlets dalam menanggapi permintaan HTTP. Hal ini sangat mirip dengan applet debugging. Perbedaannya adalah bahwa program applet sebenarnya debugging adalah sun.applet.AppletViewer.

Sebagian debugger ketika debugging applet otomatis dapat mengabaikan beberapa rincian, karena ia tahu bagaimana debug applet. Jika Anda ingin debug objek JSP ditransfer ke tubuh, Anda perlu melakukan dua hal:

  • Pengaturan classpath debugger, dapat ditemukan sun.servlet.http.Http-Server dan kelas terkait.
  • Pengaturan classpath debugger, untuk memungkinkan untuk menemukan file JSP dan kelas terkait.

Set classpath, mulai komisioning sun.servlet.http.Http-Server. Anda dapat mengatur breakpoints dalam file JSP di mana saja, selama Anda suka, dan kemudian menggunakan browser mengirimkan permintaan ke server harus dapat melihat program berhenti di breakpoint.


menggunakan komentar

anotasi program untuk debugger berperan membantu dalam banyak aspek. Komentar dapat digunakan dalam banyak cara di debugger.

JSP menggunakan penjelasan Jawa. Jika BUG menghilang, harap hati-hati meninjau komentar Anda hanya memiliki kode biasanya dapat mencari tahu mengapa.


Kepala modul klien dan server

Kadang-kadang, ketika JSP tidak berjalan dengan cara yang telah ditentukan saat melihat permintaan HTTP baku dan tanggapan juga berguna. Jika struktur sangat akrab dengan HTTP, Anda langsung dapat mengamati permintaan dan respon header dan melihat bagaimana modul pada akhirnya.


teknik debugging penting

Di sini kita lagi mengungkapkan dua tips JSP debugging:

  • Menggunakan browser menampilkan konten asli halaman, digunakan untuk membedakan apakah format. Pilihan ini biasanya dalam menu View.
  • Pastikan browser ketika reload dipaksa halaman tidak menangkap output dari permintaan sebelumnya. Jika Anda menggunakan browser Netscape Navigator, menggunakan Shift-Reload, jika menggunakan browser IE, kemudian gunakan Shift-Refresh.