Question

Je comprends pourquoi un HttpServlet lève ServletException, mais pourquoi IOException? Quel était le raisonnement derrière cela?

Était-ce utile?

La solution

À partir de la documentation:

  

IOException - si une erreur d'entrée ou de sortie est détectée lorsque le servlet traite la requête GET

Cela peut se produire lorsque vous imprimez la sortie du servlet:

response.getWriter (). print () - cette méthode lève une exception IOException

Le socket peut être fermé avant la fin de la réponse pour imprimer le résultat.

Autres conseils

Je suggérerais qu'une IOException indique un problème de traitement des entrées / sorties, par exemple. des problèmes de lecture à partir de l'entrée de demande ou d'écriture de la réponse, alors qu'un ServletException a plus à voir avec des problèmes spécifiques aux servlets, tels que des erreurs concernant le provisionnement / initialisation des servlets et le traitement des demandes.

Si le servlet écrit dans un flux de sortie (c'est-à-dire la page) via des interfaces d'E / S, toute erreur d'E / S sera signalée sous la forme d'une IOException .

Peut-être que l'API ne devrait pas utiliser directement les interfaces d'E / S. Il n'est pas rare que les applications Web utilisant RMI permettent à RMIException de tomber par l'interface de servlet (il s'agit d'une sous-classe de IOException pour une raison quelconque).

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top