J'ai déclaré toutes mes variables et méthodes en public dans le (servletconn.java). je veux accéder à ces variables et méthodes à partir d'une autre servlet (NewServlet.java), je crée un objet en utilisant conn co = new conn(); .mais ce code affiche une erreur (erreur stackoverflow). comment puis-je résoudre ce problème?Comment résoudre les erreurs stackoverflow dans les servlets?
Répondre
Il semble que vous appeliez de manière récurrente vos servlets. Sans code, c'est n'importe qui devine.
Habituellement, un servlet throws IOException, ServletException par défaut dans les méthodes de rappel comme doGet, doPost etc.
Création d'une connexion de base de données doit également jeter SQLException, ClassNotFoundException juste essayer d'attraper ces au lieu de les jeter explicitement.
Si vous souhaitez partager des informations entre les servlets, pourquoi ne pas utiliser ServletContext
? Vous pouvez utiliser ServletContext.setAttribute(key, object)
(pour le téléchargement) et ServletContext.getAttribute(key)
pour la récupération. Il existe 1 ServletContext
par application Web, par JVM. Ainsi, chaque servlet, dans votre webapp, a le même ServletContext
.
La quantité de détails que vous fournissez ne permet pas de répondre à cette question de manière significative. Stackoverflow est généralement causé par une récursion illimitée, mais nous aurions besoin de plus de votre code pour faire cette analyse. – spender
La pile seule est également suffisante (les parties dupliquées sont omises). – BalusC