2013-04-13 22 views
10

Ragazzi Sto lottando con il problema dell'apertura della mia pagina di errore personalizzata in Tomcat in Ambiente Windows. Alcuni di soluzione ho avuto ma senza fortuna. Ho provato quasi tutti i collegamenti ma non funziona per me. Alcuni di loro lavorano per altra soluzione distribuito in Tomcat, ma non per il mio Web ServicePagina di errore personalizzata in Tomcat 7 per Codice errore 500

mio web.xml

<welcome-file-list> 
    <welcome-file>index.html</welcome-file> 
    <welcome-file>index.htm</welcome-file> 
    <welcome-file>index.jsp</welcome-file> 
</welcome-file-list> 

<error-page> 
    <location>/error.html</location> 
</error-page> 


io mando errore dal mio Servlet 3.0 Application response.sendError(HttpServletResponse.SC_INTERNAL_SERVER_ERROR);

Ho inserito il mio error.html nella directory principale del mio WebService.

Alcuni dei link che ho ottenuto per la pagina JSP, invece di HTML che anche io ho provato

In caso di JSP che ho usato:

<%@ page isErrorPage="true" %> 
<!DOCTYPE html> 
<html> 
<head> 
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> 
    <title>JSP Page</title> 
</head> 
<body> 
    <h1>Error</h1> 
</body> 
</html> 


FYI si sta lavorando bene per altri Tomcat soluzione integrata funziona perfettamente. Ma nel mio servizio web ricevo la risposta 500 ma la pagina si sta aprendo in bianco. E un'altra cosa che ho disabilitato il mio Internet Explorer 9.0 mostra una risposta ancora favorevole alla pagina che arriva a 500 dal servlet. Ma la pagina degli errori sta arrivando vuota.

Se qualche idea o dubbio sulla mia richiesta fatemelo sapere. Ne ho bisogno al più presto.

+0

Perché è un servizio Web cercando di servire le pagine HTML quando si verifica un errore? –

+0

... cosa devono fare i tuoi servlet e JSP con i servizi web? sei sicuro di sapere cos'è un servizio web? – eis

+0

perché stiamo usando la nostra pagina di errore personalizzata nel nostro progetto –

risposta

18

Prova a mettere il seguente frammento nella vostra WEB-INF/web.xml

<error-page> 
    <error-code>500</error-code> 
    <location>/Error.jsp</location> 
</error-page> 

<error-page> 
    <exception-type>java.lang.Exception</exception-type> 
    <location>/Error.jsp</location> 
</error-page> 

In questo caso Error.jsp è allo stesso livello WEB-INF directory (non al suo interno).

+0

Harshal Grazie mille per la tua risposta, ma l'ho provato anche sfortunatamente no .. –

+1

questo sembra essere stato utile per me! di nota, l'ordine è importante, si desidera la mappatura 500 prima del mapping delle eccezioni (come mostrato) –

3

Lo stesso può essere implementato a livello di codice se l'utilizzo incorporato Tomcat per esempio come questo:

 Context appContext = ...    
     ErrorPage errorPage = new ErrorPage(); 
     errorPage.setErrorCode(HttpServletResponse.SC_NOT_FOUND); 
     errorPage.setLocation("/my_custom_error_page.html"); 
     appContext.addErrorPage(er); 
Problemi correlati