JSP 调试:如何在 Eclipse 中调试 JSP?

JSP 中的调试是什么?

JSP 中的调试是在应用程序中跟踪错误的过程。跟踪应用程序中的 bug 和错误并非易事。JSP 应用程序是客户端交互式的。因此,错误很难重现。

JSP 调试技术

有 3 种不同的技术可以用来调试 JSP 应用程序

  • 使用 println 语句
  • 使用 Java Logger
  • 使用调试器工具

使用 println 语句

  • System.out.println() 用于跟踪是否执行了特定部分。
  • 我们可以打印代码中的变量。
  • 此外,我们还可以打印需要用来调试应用程序的值。

示例

在此示例中,我们通过 println 语句进行调试,以了解变量的值。

<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
    pageEncoding="ISO-8859-1"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Debug Guru JSP</title>
</head>
<body>
<% int num1=10;
System.out.println("This is debugging Guru JSP");
num1++;
int num2=num1/0;
System.out.println(num2);%>
</body>
</html>

代码解释

代码第 10 行: 我们将变量 num1 初始化为 10。

代码第 11 行: 我们使用 println 语句打印“This is debugging Guru JSP”来调试已执行的代码行。

代码第 12 行: 这里我们将变量 num1 加 1。

代码第 13 行: 我们将 num1 除以 0,然后放入新变量 num2 中。

代码第 14 行: 由于我们想知道 num2 的值,因此可以使用 println 语句获取该值,以了解代码执行到哪一行。

当您执行上述代码时,您会得到以下输出

JSP Debugging Using println Statements

输出

在这里,我们得到了“This is debugging Guru JSP”语句以及变量 num1 的值,该值已被递增,即 11。

使用 Java Logger

  • Java 日志记录框架用于为运行在 JVM 中的任何类提供日志记录服务。
  • 这用于记录代码中的任何信息。
  • 它记录所有必要的信息来跟踪发生的 bug。

示例

在此示例中,我们使用 java logger 来跟踪代码中的信息。可以使用不同的函数显示消息,例如 severe()warning()info()config()Fine()。Info 用于在日志文件中显示信息。Severe 用于在日志文件中显示一些严重信息。

<%@taglib prefix="guru" uri="http://java.sun.com/jsp/jstl/core" %>
<%@page import="java.util.logging.Logger" %>
<%@page import="java.util.Date" %>
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
    pageEncoding="ISO-8859-1"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Debugging Guru JSP</title>
</head>
<body>
<% Logger logger=Logger.getLogger(this.getClass().getName());%>
<% Date dt = new Date();
logger.info(dt.toString());
logger.info("This is Guru Logging debugger"); %>
</body>
</html>

代码解释

代码第 2 行: 我们导入 java logger 来记录信息。

代码第 3 行: 我们导入 util 包的 Date 类。

代码第 13 行: 我们使用 getLogger 方法初始化 logger 类。

代码第 14 行: 我们初始化日期类。

代码第 15 行: 我们使用 logger 类的 info 方法对象来打印当前日期。

代码第 16 行: 我们使用 info 方法打印“This is Guru Logging debugger”。

执行上述代码时,将获得以下输出

JSP Debugging Using Java Logger

输出

我们将在 std.log 中获得输出,该输出将存储在服务器的 Logging 文件夹中。在这里,我们将获得代码中写入的信息。

使用调试工具

自教程开始以来,我们一直在使用 eclipse。在 eclipse 中,我们有调试工具来调试代码中的错误或 bug。

如何在 Eclipse 中调试 JSP

以下是在 Eclipse 中使用调试工具调试 JSP 应用程序的步骤

  1. 设置断点
  2. 以调试模式重新启动服务器
  3. 通过断点调试

步骤 1) 设置断点

我们可以在代码中设置断点,在那里我们想要跟踪代码。

<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
    pageEncoding="ISO-8859-1"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Debugging Guru JSP</title>
</head>
<body>
<% String name = "This is test Guru JSP";
out.println(name);
%>
</body>
</html>

在这里,我们通过右键单击项目浏览器来设置断点作为“切换断点”。我们可以在发生错误或 bug 的地方设置断点。设置好后,调试器将移至第一个断点,然后是下一个,依此类推。它将通过断点运行应用程序。设置断点后,我们需要以调试模式重新启动服务器。

步骤 2) 以调试模式重新启动服务器

我们可以通过单击服务器侧并单击“以调试模式启动”来重新启动服务器。

Debug JSP in Eclipse

步骤 3) 通过断点调试

我们可以通过单击应用程序并选择“调试方式”来调试应用程序。

Debug JSP in Eclipse

您会收到切换视角的提示,然后单击“是”按钮。单击“是”按钮后,我们将看到以下视角。

Debug JSP in Eclipse

我们将看到变量选项卡,您可以在其中看到变量的值。

Debug JSP in Eclipse

断点选项卡显示代码中的断点数量。

Debug JSP in Eclipse

我们可以通过已设置的断点来调试应用程序。

摘要

  • JSP 中的调试是在应用程序中跟踪错误的过程。
  • JSP 调试技术:使用 println 语句、使用 Java Logger 和使用调试器工具。
  • System.out.println() 用于跟踪是否执行了特定部分。
  • Java 日志记录框架用于为运行在 JVM 中的任何类提供日志记录服务。
  • 在 eclipse 中,我们有调试工具来调试代码中的错误或 bug。