Bonjour,

J'avais déjà eu une erreur 500 avec Tomcat 6 récemment et je suis confronté à un problème similaire mais hélas pas identique.

Sous Chrome, j'arrive à me connecter à la (vieille) application mais sous Firefox, impossible.

J'ai d'abord eu une erreur 500 qui ressemblait à celle de l'autre discussion. J'ai essayé de supprimer les fichiers Affiche_jsp.java et Affiche_jsp.class créés par Tomcat dans /etc/tomcat6/Catalina/localhost/modind/org/apache/jsp/jsp mais ça n'a pas suffit. J'ai ensuite carrément supprimé tout le répertoire en question mais j'ai toujours des erreurs.

J'ai l'impression que des paramètres d'une précédente connexion plantée sont restés en mémoire quelque part, ce qui oriente la tentative d'accès à la page de login vers une page de l'application, comme si j'étais déjà connecté.

Voilà le début de l'erreur 500 :
org.apache.jasper.JasperException: An exception occurred processing JSP page /jsp/affiche.jsp at line 149

146: <div id="Zone04">
147: <!-- Zone du contenu dynamique -->
148: <div id="contenu">
149: <br><jsp:include page="<%= strContenu %>"/><br>
150: </div>
151: </div>
152:


Stacktrace:
org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:510)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:401)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:313)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:260)
javax.servlet.http.HttpServlet.service(HttpServlet.java:717)

cause mère

org.apache.jasper.JasperException: An exception occurred processing JSP page /jsp/protected/nb_demandes_par_module.jsp at line 32

29: <div>
30:
31: <%
32: strTableHTMLDemandes = fiche.tableHTML_nb_demandes_module(request.getSession(false), 1) ;
33: %>
34: <%= strTableHTMLDemandes %>
35:
C'est la partie /jsp/protected/nb_demandes_par_module.jsp qui ne devrait pas être appelée lors d'une tentative d'accès à la page de connexion sans être déjà connecté.

Dans la page Affiche.jsp, il y a ceci :
Code Java : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
<%
	// Test pour savoir si c'est une page avant ou apres connexion
	// Pour les pages avant connexion la variable "index" reçoit un nom de page "non connectée".
	// Sinon, la variable "index" n'existe pas.
	String index = request.getParameter("index") ;
	String strContenu = "";
	String strCategUti = "" ;
 
	if (index != null)
	{
   	// Cette variable ne reçoit une valeur que si on tente d'accéder à la page de connexion
 
		// On teste s'il y a une session, si oui c'est que l'utilisateur a utilisé le bouton
		// précédent du navigateur, il faut alors que strContenu recoive la même valeur que celle
		// en mode connecté; sinon si l'utilisateur fait "précédent", il est rebasculé sur la
		// page de demande de connexion.
		try
		{
			 if (request.getSession(false).getAttribute("categUti").toString().length() > 0)
			{
				// Si un utilisateur est connecté
				strContenu = "protected/" + request.getSession(false).getAttribute("contenuDynamique").toString() + ".jsp";
			}
			else
         {
				// Mode non connecté :
				strContenu = index + ".jsp";
         }
		}
		catch (Exception j)
		{
			strContenu = index + ".jsp";
		}
	}
	else
	{
		// On est en mode connecté, récupération des infos sur l'utilisateur et du contenu à afficher :
		try
		{
			strCategUti = request.getSession(false).getAttribute("categUti").toString();
	   		strContenu = "protected/" + request.getSession(false).getAttribute("contenuDynamique").toString() + ".jsp";
		}
		catch (Exception e)
		{
	   	// Faire un redirect vers la page de connexion.
			response.sendRedirect(response.encodeRedirectURL(request.getContextPath() + "/jsp/affiche.jsp?index=erreur_session"));
		}
	}
%>

Il semble que les informations d'une précédente session sont trouvées et récupérées par le programme, ce qui oriente vers l'ancienne fonctionnalité appelée au lieu de lancer la page de login.
Normalement, index (via l'URL appelée) est initConnexion et donc strContenu qui est le contenu dynamique de la page devrait être généré par l'appel de cet index.

Où sont stockées les informations de session ?

Voyez-vous une autre piste pour remettre mon programme en fonctionnement correct ?

Que faudrait-il changer pour éviter ce phénomène d'utilisation d'une ancienne session plantée ?

J'ai essayé de redémarrer le service Tomcat6 mais