Faire des Boudins envoyer 500 Erreur Interne au Serveur lorsque des exceptions obtenir jeté

Je suis en train de travailler sur un AJAX JavaScript frontend qui permet d'appeler un Java backend écrit avec Struts. Mon problème est que lorsque le backend lève une exception, le client voit encore un "200 OK" code de réponse HTTP au lieu de "500 Internal Server Error", comme on pourrait s'attendre.

C'est le déclenchement de moi jusqu'à plusieurs reprises en raison de ma 3ème partie client bibliothèque JavaScript dépend de codes d'état HTTP de déterminer si quelque chose est incorrect avec un appel AJAX, comme le plus moderne des bibliothèques habitude de le faire. Les erreurs passent inaperçues jusqu'à ce que mon code explose lorsqu'il essaie d'analyser ce qui serait normalement JSON.

Je veux vraiment éviter le piratage de mon client bibliothèque JS pour gérer harmonieusement ces erreurs. Alors, comment puis-je faire des Boudins de me donner un 500 code d'état quand il y a eu une exception non gérée dans le backend? Ne devrait-ce pas être Struts comportement par défaut?

Edit: Le code côté client n'est pas pertinent dans ce cas. Je suis besoin de fixer le serveur afin qu'il envoie le statut approprié code lorsque les exceptions non gérées arriver. Merci!

OriginalL'auteur curtisdf | 2012-03-12