O melhor tutorial manipulação de exceção JSP em 2024. Neste tutorial você pode aprender Use exceção Objects,Use tags JSTL na página de erro,Use bloco try ... catch,
Ao escrever aplicativos JSP, os programadores podem perder alguns bug, este pode aparecer em qualquer parte do programa. código JSP é geralmente a seguinte exceção categorias:
Esta seção dará uma maneira que poucos simples e elegante para lidar com exceções de tempo de execução e erros.
objeto de exceção é uma instância da subclasse Throwable, disponível apenas na página de erro. A tabela a seguir lista alguns da classe Throwable em aspectos importantes:
Não. | Method & descrição |
---|---|
1 | Cadeia getMessage pública () Retorna a exceção. Esta informação é inicializado no construtor Throwable |
2 | ThrowablegetCause pública () Retorna a causa da exceção, o objeto do tipo Throwable |
3 | public String toString () Retorna o nome da classe |
4 | printStackTrace public void () A saída do rastreamento de pilha de exceção para System.err |
5 | pública StackTraceElement [] getStackTrace () Sob a forma de um elemento de rastreamento de pilha da matriz retorna um rastreamento da pilha excepção |
6 | ThrowablefillInStackTrace pública () O rastreamento de pilha atual preencher objeto Throwable |
JSP fornece a opção de especificar páginas de erro para cada página JSP. Sempre que a página gera uma exceção, JSP recipiente irá ligar automaticamente para a página de erro.
A seguir exemplos main.jsp especifica uma página de erro. Use <% @ page errorPage = "XXXXX"%> directiva especifica uma página de erro.
<%@ page errorPage="ShowError.jsp" %> <html> <head> <title>Error Handling Example</title> </head> <body> <% // Throw an exception to invoke the error page int x = 1; if (x == 1) { throw new RuntimeException("Error condition!!!"); } %> </body> </html>
Agora, escreva ShowError.jsp seguintes documentos:
<%@ page isErrorPage="true" %> <html> <head> <title>Show Error Page</title> </head> <body> <h1>Oppspt.</h1> <p>Sorry, an error occurred.</p> <p>Here is the exception stack trace: </p> <pre> <% exception.printStackTrace(response.getWriter()); %>
Observando, usos de arquivo ShowError.jsp <% @ page isErrorPage = "true"%> directiva, que conta precisa gerar uma variável de instância exceção o compilador JSP.
Agora tente acessar a página main.jsp, que irá produzir os seguintes resultados:
java.lang.RuntimeException: Error condition!!! ptptpt Oppspt. Sorry, an error occurred. Here is the exception stack trace:
Tag JSTL pode ser usado para escrever a página de erro ShowError.jsp. Este código de exemplo e lógico no código exemplo é quase o mesmo, mas neste caso o código tem uma melhor estrutura, e podem fornecer mais informações:
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> <%@page isErrorPage="true" %> <html> <head> <title>Show Error Page</title> </head> <body> <h1>Oppspt.</h1> <table width="100%" border="1"> <tr valign="top"> <td width="40%"><b>Error:</b></td> <td>${pageContext.exception}</td> </tr> <tr valign="top"> <td><b>URI:</b></td> <td>${pageContext.errorData.requestURI}</td> </tr> <tr valign="top"> <td><b>Status code:</b></td> <td>${pageContext.errorData.statusCode}</td> </tr> <tr valign="top"> <td><b>Stack trace:</b></td> <td> <c:forEach var="trace" items="${pageContext.exception.stackTrace}"> <p>${trace}</p> </c:forEach> </td> </tr> </table> </body> </html>
Os resultados são como se segue:
Se você quiser colocar um tratamento de exceção de página, e para diferentes exceções são tratadas de forma diferente, então você precisa usar um bloco try pt. catch.
Este próximo exemplo mostra como usar o bloco try pt. catch, o código será colocado em main.jsp:
<html> <head> <title>Trypt.Catch Example</title> </head> <body> <% try{ int i = 1; i = i / 0; out.println("The answer is " + i); } catch (Exception e){ out.println("An exception occurred: " + e.getMessage()); } %> </body> </html>
Tente visitar main.jsp, que irá produzir os seguintes resultados:
An exception occurred: / by zero