Depuração JSP: Como depurar JSP em Eclipse?

⚡ Resumo Inteligente

A depuração em JSP é o processo de tracEste recurso explica três técnicas de depuração: instruções println, Java Ferramentas de registro e depuração — e instruções passo a passo sobre como depurar uma página JSP em Eclipse Utilizando pontos de interrupção e modo de depuração.

  • 🐞 Definição: depuração tracerros difíceis de reproduzir em aplicações JSP interativas com o cliente.
  • 🖨️ println: System.out.println() imprime os valores das variáveis ​​para confirmar quais linhas de código foram executadas.
  • 📝 Java Registrador: A estrutura de registro grava mensagens classificadas, como informativas e graves, em arquivos de log.
  • 🔧 Ferramentas de depuração: Eclipse Fornece pontos de interrupção e uma visualização de variáveis ​​para inspecionar o estado em tempo de execução.
  • ▶ ️ Eclipse Passos: Defina pontos de interrupção, reinicie o servidor no modo de depuração e, em seguida, execute o código passo a passo.

Depuração de JSP

O que é depuração em JSP?

A depuração em JSP é o processo de tracidentificar o erro no aplicativo. Não é muito fácil trace bugs e erros no aplicativo. Os aplicativos JSP são interativos com o cliente. Portanto, os erros são difíceis de reproduzir.

Técnicas de depuração JSP

Existem 3 técnicas diferentes através das quais podemos depurar uma aplicação JSP:

  • Usando instruções println
  • Utilizar painéis de piso ResinDek em sua unidade de self-storage em vez de concreto oferece diversos benefícios: Java Logger
  • Usando ferramentas do depurador

Usando instruções println

  • System.out.println() é usado para trace se uma determinada parte foi executada ou não.
  • Podemos imprimir as variáveis ​​no código.
  • Além disso, podemos imprimir valores que precisam ser usados ​​para depurar o aplicativo.

Exemplo:

Neste exemplo, estamos depurando as instruções println para entender quais valores estamos obtendo para as variáveis.

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

Explicação do código:

Code Linha 10: Estamos pegando a variável num1 e inicializando-a com o valor 10.

Code Linha 11: Estamos imprimindo, usando a instrução println, “Isto é depuração” Guru Use o comando “JSP” para depurar qual linha de código foi executada.

Code Linha 12: Aqui estamos incrementando a variável num1 em 1.

Code Linha 13: Estamos dividindo num1 por 0 e colocando o resultado em uma nova variável, num2.

Code Linha 14: Como queremos saber o valor de num2, podemos obtê-lo usando a instrução println para saber até qual linha de código foi executada.

Ao executar o código acima, você obtém a seguinte saída:

Depuração JSP usando instruções println

Saída:

Aqui, estamos recebendo a mensagem “Isto é depuração” Guru JSP” com o valor da variável num1, que foi incrementado, portanto 11.

Utilizar painéis de piso ResinDek em sua unidade de self-storage em vez de concreto oferece diversos benefícios: Java Logger

  • O Java A estrutura de registro é usada para registrar serviços de qualquer classe em execução no JVM.
  • Isso é usado para registrar qualquer informação do código.
  • Ele registra todas as informações necessárias para trace os erros que ocorreram.

Exemplo:

Neste exemplo, estamos usando o Java registrador para trace as informações no código. As mensagens podem ser exibidas usando diferentes funções, como severe(), warning(), info(), config() e fine()O parâmetro "Info" é usado para exibir as informações contidas no arquivo de log. O parâmetro "Severe" é usado para exibir informações graves no arquivo de log.

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

Explicação do código:

Code Linha 2: Estamos importando o Java Registrador para registrar as informações.

Code Linha 3: Estamos importando a classe Date do pacote util.

Code Linha 13: Estamos inicializando a classe de registro (logger) usando o método getLogger.

Code Linha 14: Estamos inicializando a classe Date.

Code Linha 15: Estamos usando o método `info` do objeto da classe `logger` para imprimir a data atual.

Code Linha 16: Estamos usando o método info para imprimir 'Isto é Guru Depurador de registro'.

Ao executar o código acima, você obterá a seguinte saída:

Depuração JSP usando Java Logger

Saída:

Obteremos a saída em std.log, que será armazenada na pasta Logging do servidor. Aqui obteremos as informações que foram escritas no código.

Usando ferramentas de depuração

Temos usado Eclipse desde o início do tutorial. Em Eclipse, temos ferramentas de depuração para depurar erros ou bugs no código.

Como depurar JSP em Eclipse

Aqui estão as etapas para depurar um aplicativo JSP em Eclipse usando ferramentas de depuração:

  1. Defina o ponto de interrupção.
  2. Reinicie o servidor no modo de depuração.
  3. Depure através de pontos de interrupção.

Etapa 1) Defina o ponto de interrupção

Podemos definir o ponto de interrupção no código, onde quisermos. trace o código:

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

Aqui, estamos definindo o ponto de interrupção como "alternar ponto de interrupção" ao clicar com o botão direito do mouse no explorador de projetos. Podemos definir os pontos de interrupção onde o erro ou bug está ocorrendo. Uma vez definidos, o depurador irá para o primeiro ponto de interrupção e, em seguida, para o próximo, e assim por diante. Ele executará o aplicativo com a ajuda dos pontos de interrupção. Após definir o ponto de interrupção, precisamos reiniciar o servidor no modo de depuração.

Etapa 2) Reinicie o servidor no modo de depuração

Podemos reiniciar o servidor no modo de depuração clicando no lado do servidor e, em seguida, em Iniciar no modo de depuração.

Depurar JSP em Eclipse

Etapa 3) Depurar por meio de pontos de interrupção

Podemos depurar o aplicativo clicando nele e selecionando "Depurar como":

Depurar JSP em Eclipse

Você receberá um alerta para alterar a perspectiva; em seguida, clique no botão "Sim". Após clicar no botão "Sim", obteremos a seguinte perspectiva:

Depurar JSP em Eclipse

Teremos acesso à aba Variáveis, onde poderemos visualizar os valores das variáveis:

Depurar JSP em Eclipse

A aba Pontos de interrupção mostra o número de pontos de interrupção no código:

Depurar JSP em Eclipse

Podemos depurar a aplicação através dos pontos de interrupção que foram definidos.

Perguntas Frequentes

Sim. Assistentes de IA podem analisar pilhas de protocolos. tracO sistema identifica ponteiros nulos ou erros de divisão e sugere correções no código JSP e servlet. Isso acelera a depuração, mas você deve confirmar a correção executando a página.

Não. A IA sugere causas prováveis, mas é preciso dar um passo adiante.ping através de pontos de interrupção em Eclipse ainda fornece valores precisos para variáveis ​​de tempo de execução, confirmando o problema real. As duas abordagens funcionam melhor juntas.

O comando `println` imprime diretamente no console e é difícil de gerenciar em grande escala. Um logger, por outro lado, registra mensagens com níveis de alerta, como "info" ou "severe", em arquivos de log que podem ser filtrados, retidos e analisados ​​posteriormente.

Um erro 500 geralmente ocorre devido a uma exceção não tratada no JSP, como uma NullPointerException ou divisão por zero. A causa exata é mostrada nos logs do servidor e na pilha de erros. trace.

Resuma esta postagem com: