JSP 调试:如何在 Eclipse?

⚡ 智能摘要

JSP调试是一个……的过程。 tracJSP应用程序中的错误。本资源解释了三种调试技巧——println语句、 Java 日志记录器和调试工具——并逐步讲解如何调试 JSP 页面 Eclipse 使用断点和调试模式。

  • 🐞 定义: 调试 trac在客户端交互式 JSP 应用程序中难以重现的错误。
  • 🖨️ println: System.out.println() 打印变量值以确认执行了哪些代码行。
  • 📝 Java 记录器: 日志框架会将信息和严重等分级消息记录到日志文件中。
  • 🔧 调试工具: Eclipse 提供断点和变量视图,用于检查运行时状态。
  • ▶️ Eclipse 步骤: 设置断点,以调试模式重启服务器,然后单步执行代码。

JSP调试

JSP 中的调试是什么?

JSP调试是一个……的过程。 trac找出应用程序中的错误。这并不容易。 trac应用程序中的漏洞和错误。JSP 应用程序是客户端交互式的,因此错误很难重现。

JSP 调试技术

我们可以使用 3 种不同的技术来调试 JSP 应用程序:

  • 使用 println 语句
  • 运用 Java 记录仪
  • 使用调试器工具

使用 println 语句

  • System.out.println() 用于在传统的喷雾干燥塔中生产普通脱脂奶粉,或在三级 Omega 干燥塔中生产附聚奶粉。通过在干燥的最后阶段进行卵磷脂喷涂,可以生产速溶奶粉。 trace 某个部分是否被执行。
  • 我们可以在代码中打印变量。
  • 此外,我们还可以打印出调试应用程序所需的数值。

计费示例:

在这个例子中,我们通过 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>

代码说明:

Code 线10: 我们将变量 num1 初始化为 10。

Code 线11: 我们使用 println 语句打印“这是调试信息”。 Guru 使用 JSP”来调试已执行的代码行。

Code 线12: 这里我们将变量 num1 加 1。

Code 线13: 我们将 num1 除以 0,并将结果存入新变量 num2 中。

Code 线14: 因为我们想知道 num2 的值,我们可以使用 println 语句来获取它,从而知道代码执行到了哪一行。

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

使用 println 语句进行 JSP 调试

输出:

这里,我们得到了“这是调试”的提示信息。 Guru JSP” 中变量 num1 的值已递增,因此为 11。

运用 Java 记录仪

  • 此 Java 日志框架用于记录任何在系统中运行的类的日志服务。 JVM.
  • 这用于记录来自代码的任何信息。
  • 它会记录所有必要信息。 trac出现的错误。

计费示例:

在这个例子中,我们使用了 Java 日志记录器 trac例如,代码中的信息。可以使用不同的函数来显示消息,例如 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>

代码说明:

Code 线2: 我们正在进口 Java 日志记录器用于记录信息。

Code 线3: 我们正在导入 util 包中的 Date 类。

Code 线13: 我们使用 getLogger 方法初始化日志记录器类。

Code 线14: 我们正在初始化 Date 类。

Code 线15: 我们使用日志记录器类对象的 info 方法来打印当前日期。

Code 线16: 我们使用 info 方法来打印“这是 Guru 正在记录调试器。

执行上述代码后,您将得到以下输出:

使用 JSP 进行调试 Java 记录仪

输出:

我们将把输出结果保存在 std.log 文件中,该文件位于服务器的 Logging 文件夹中。在这里,我们将获取代码中写入的信息。

使用调试工具

我们一直在使用 Eclipse 从教程开始之初。 Eclipse,我们有调试工具来调试代码中的错误或缺陷。

如何在 Eclipse

以下是在 Eclipse 使用调试工具:

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

步骤 1)设置断点

我们可以在代码中设置断点,指定要中断的地方。 trac代码如下:

<%@ 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)以调试模式重启服务器

我们可以通过点击服务器端并点击“以调试模式启动”来重启服务器并进入调试模式。

调试 JSP Eclipse

步骤 3)通过断点调试

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

调试 JSP Eclipse

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

调试 JSP Eclipse

我们将打开“变量”选项卡,在这里可以看到变量的值:

调试 JSP Eclipse

“断点”选项卡显示代码中的断点数量:

调试 JSP Eclipse

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

常见问题

是的。人工智能助手可以分析堆栈。 traces,找出 JSP 和 servlet 代码中的空指针或除法错误,并提出修复建议。这可以加快调试速度,但您应该通过运行页面来确认修复是否有效。

不。人工智能会给出可能的原因,但步骤ping 通过断点 Eclipse 仍然能够提供精确的运行时变量值,从而确认实际问题。这两种方法结合使用效果最佳。

println 直接将输出打印到控制台,难以大规模管理。日志记录器会将信息(例如 info 或 severe)分级记录到日志文件中,以便后续进行筛选、保留和分析。

500 错误通常源于 JSP 中未捕获的异常,例如 NullPointerException 或除以零。具体原因会在服务器日志和堆栈信息中显示。 trace.

总结一下这篇文章: