Latest web development tutorials

JSP depuração

Para testar / debug um JSP ou programa servlet é sempre tão difícil. procedimentos JSP e Servlets tendem a envolver a interacção entre um grande número de cliente / servidor, o qual é susceptível de gerar um erro, e é difícil de reproduzir o ambiente de erro.

Em seguida será dado algumas dicas e sugestões para ajudá-lo a depurar o programa.


Use System.out.println ()

System.out.println () pode facilmente bandeira é um pedaço de código é executado. Claro, nós também pode imprimir uma variedade de valores. Além disso:

  • Uma vez que o objeto Sistema se torna o objeto Java núcleo que pode ser usado em qualquer lugar sem a introdução de aulas adicionais. Incluindo o uso de Servlets, JSP, RMI, EJB, feijão, classes e aplicações stand-alone.
  • Comparado com paradas no ponto de interrupção, usando saída System.out não terá um impacto significativo sobre a operação de aplicativos de processo, esta característica é muito importante no mecanismo de tempo do aplicativo é muito útil.

Em seguida, dada a System.out.printlnl sintaxe () é:

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

Este é um exemplo simples de usar 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>

Agora, se você executar o exemplo acima, em seguida, que irá produzir os seguintes resultados:

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

Se você estiver usando o servidor Tomcat, você será capaz de encontrar mais do seguinte no arquivo stdout.log logs em:

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

Usando este método de variáveis ​​e outras informações podem ser a saída para o registo do sistema para analisar o problema e encontrar a causa das razões profundas.


Use JDB Logger

quadro de log J2SE fornece serviços de registro para qualquer classe em execução na JVM. Assim, podemos usar essa estrutura para gravar qualquer informação.

Vamos reescrever o código acima, utilize o logger API JDK:

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

É semelhante ao resultados da anterior, mas pode obter informações adicionais para o arquivo stdout.log. Aqui usamos o método informações logger. Abaixo damos um arquivo de instantâneo 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

As mensagens podem ser enviadas usando uma variedade de prioridade, usando Sever (), aviso (), info (), config (), fino (), mais fino (), o melhor método (). melhor método () é usado para registrar a melhor informação, e separarão () é usado para gravar as informações mais sério.

Use Log4J mensagens registra-quadro em um arquivo diferente, essas mensagens com base na gravidade e importância de classificar.


Ferramentas de depuração

NetBeans é uma estrutura de árvore, open source Java ambiente de desenvolvimento integrado, apoiar o desenvolvimento de aplicativos Java independentes e aplicações de rede, mas também o apoio JSP depuração.

NetBeans suporta os seguintes algumas características básicas de depuração:

  • Pontos de interrupção
  • rastreamento de um único passo
  • Ponto de Observação

Informações detalhadas podem ser vistos manual do NetBeans.


Use JDB Debugger

Você pode usar o comando jdb em JSP e servlets em para depuração, assim como de depuração como uma aplicação normal.

Normalmente, nós dirigimos a depuração sun.servlet.http.HttpServer opor-se a ver a situação httpserver implementação de JSP / Servlets em resposta a solicitações HTTP. Isto é muito semelhante ao applets de depuração. A diferença é que, programa de applets real depuração é sun.applet.AppletViewer.

A maioria do depurador quando depuração applets pode ignorar automaticamente alguns dos detalhes, porque sabe como depurar applets. Se você deseja depurar objetos JSP transferidos para o corpo, você precisa fazer duas coisas:

  • Definir o classpath depurador, ele pode ser encontrado sun.servlet.http.Http-Server e classes relacionadas.
  • Definir o classpath depurador, para lhe permitir encontrar seus arquivos JSP e classes relacionadas.

Set classpath, começou comissionamento sun.servlet.http.Http-Server. Você pode definir pontos de interrupção no arquivo JSP em qualquer lugar, contanto que você gosta, e, em seguida, usar o navegador envia uma solicitação para o servidor deve ser capaz de ver o programa parou em um ponto de interrupção.


use comentários

anotações programa para o depurador desempenhar um papel útil em muitos aspectos. Os comentários podem ser usados ​​de várias maneiras no depurador.

JSP usa anotações Java. Se um BUG desapareceu, por favor, leia com atenção os comentários que acabaram de ter o código normalmente pode descobrir o porquê.


A cabeça dos módulos de cliente e servidor

Às vezes, quando o JSP não está a funcionar de uma maneira predeterminada ao visualizar as solicitações HTTP crus e respostas também são úteis. Se a estrutura é muito familiarizado com HTTP, você pode observar diretamente os solicitação e resposta cabeçalhos e ver como os módulos no final.


técnicas importantes de depuração

Aqui estamos novamente revelou duas dicas de depuração JSP:

  • Usando o navegador exibe o conteúdo original da página, é usado para distinguir se o formato. Esta opção é geralmente no menu View.
  • Certifique-se de que o navegador quando a forçar o recarregamento da página não capturar a saída do pedido anterior. Se você estiver usando o navegador Netscape Navigator, usar Shift-Reload; se estiver usando o navegador IE, em seguida, usar Shift-Refresh.