IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Servlets/JSP Java Discussion :

Page vierge ou blanche


Sujet :

Servlets/JSP Java

  1. #1
    Membre à l'essai
    Inscrit en
    Octobre 2007
    Messages
    63
    Détails du profil
    Informations forums :
    Inscription : Octobre 2007
    Messages : 63
    Points : 22
    Points
    22
    Par défaut Page vierge ou blanche
    Bjr!
    j'ai une appli qui tourne sur tomcat 5.5.26 et j'ai une problème de temps à autre j'ai une page blanche qui s'affiche et je ne sais comment résoudre ce problème voici le script du fichier log

    26 mars 2008 08:02:45 org.apache.catalina.core.StandardWrapperValve invoke
    INFO: La servlet default est actuellement indisponible
    26 mars 2008 08:02:45 org.apache.catalina.core.StandardWrapperValve invoke
    INFO: La servlet default est actuellement indisponible
    26 mars 2008 08:43:39 org.apache.catalina.core.ApplicationDispatcher invoke
    ATTENTION: La servlet jsp est actuellement indisponible
    26 mars 2008 08:43:39 org.apache.catalina.core.ApplicationDispatcher invoke
    ATTENTION: La servlet jsp est actuellement indisponible
    26 mars 2008 08:45:40 org.apache.catalina.core.ApplicationDispatcher invoke
    ATTENTION: La servlet jsp est actuellement indisponible
    26 mars 2008 08:45:40 org.apache.catalina.core.ApplicationDispatcher invoke
    ATTENTION: La servlet jsp est actuellement indisponible
    26 mars 2008 08:54:30 org.apache.catalina.core.ApplicationDispatcher invoke
    ATTENTION: La servlet jsp est actuellement indisponible
    26 mars 2008 08:54:30 org.apache.catalina.core.ApplicationDispatcher invoke
    ATTENTION: La servlet jsp est actuellement indisponible
    Merci de m'aider

  2. #2
    Membre à l'essai
    Inscrit en
    Octobre 2007
    Messages
    63
    Détails du profil
    Informations forums :
    Inscription : Octobre 2007
    Messages : 63
    Points : 22
    Points
    22
    Par défaut
    Personne n'as une idée car je suis désespéré ce pb dure dépuis quelques jours déjà maintenant le scipt de mon fichier log à changer et le voici

    2008-03-27 07:55:25 ApplicationDispatcher[/Banking]: La servlet jsp est actuellement indisponible
    2008-03-27 07:55:57 StandardWrapperValve[default]: La servlet default est actuellement indisponible
    2008-03-27 07:55:57 StandardWrapperValve[default]: La servlet default est actuellement indisponible
    je n'ai pas de servlet default alors je ne vois pas où elle voit cette servlet???

    voici mon fichier xml
    Code xml : 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
    <?xml version="1.0" encoding="UTF-8"?>
    <web-app>
     
    	<display-name>Banking</display-name>
    	<welcome-file-list>
    		<welcome-file>/index.jsp</welcome-file>
    	</welcome-file-list>
     
    	<servlet>
    		<servlet-name>ServletConnexion</servlet-name>
    		<servlet-class>Servlets.ServletConnexion</servlet-class>
    		<init-param>
    			<param-name>paramcon</param-name>
    			<param-value>D:\Banking\config.txt</param-value>
    		</init-param>		
    	</servlet>
     
    	<servlet-mapping>
    		<servlet-name>ServletConnexion</servlet-name>
    		<url-pattern>/con</url-pattern>
    	</servlet-mapping>
     
     
    	<servlet>
    		<servlet-name>ServletExtraire</servlet-name>
    		<servlet-class>Servlets.ServletExtraire</servlet-class>
    		<init-param>
    			<param-name>paramcon</param-name>
    			<param-value>D:\Banking\config.txt</param-value>
    		</init-param>		
    	</servlet>
     
    	<servlet-mapping>
    		<servlet-name>ServletExtraire</servlet-name>
    		<url-pattern>/ban</url-pattern>
    	</servlet-mapping>
    	<session-config>
          <session-timeout>30</session-timeout> 
        </session-config>
     
     
    </web-app>
    Une proposition???

  3. #3
    Expert éminent

    Femme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    5 793
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 5 793
    Points : 7 778
    Points
    7 778
    Par défaut
    Je ne sais pas si ton problème de page blanche vient de là mais il y a un ordre à respecter dans les balises du web.xml.
    La balise welcome-file-list doit être après la balise session-config et les balises servlet-mapping après les balises servlet :
    Code xml : 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
    <?xml version="1.0" encoding="UTF-8"?>
    <web-app>
    	<display-name>Banking</display-name>
    	<servlet>
    		<servlet-name>ServletConnexion</servlet-name>
    		<servlet-class>Servlets.ServletConnexion</servlet-class>
    		<init-param>
    			<param-name>paramcon</param-name>
    			<param-value>D:\Banking\config.txt</param-value>
    		</init-param>		
    	</servlet>
    	<servlet>
    		<servlet-name>ServletExtraire</servlet-name>
    		<servlet-class>Servlets.ServletExtraire</servlet-class>
    		<init-param>
    			<param-name>paramcon</param-name>
    			<param-value>D:\Banking\config.txt</param-value>
    		</init-param>		
    	</servlet>
    	<servlet-mapping>
    		<servlet-name>ServletConnexion</servlet-name>
    		<url-pattern>/con</url-pattern>
    	</servlet-mapping>
    	<servlet-mapping>
    		<servlet-name>ServletExtraire</servlet-name>
    		<url-pattern>/ban</url-pattern>
    	</servlet-mapping>
    	<session-config>
                    <session-timeout>30</session-timeout> 
            </session-config>
            <welcome-file-list>
    	        <welcome-file>index.jsp</welcome-file>
            </welcome-file-list>
    </web-app>

    Pour avoir les messages d'erreur liés à un mauvais coding du web.xml, il faut préciser la dtd ou la xsd au début du web.xml :

    en J2EE 1.3 :
    Code xml : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    <?xml version="1.0" encoding="UTF-8"?>
     
    <!DOCTYPE web-app 
        PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN" 
        "http://java.sun.com/dtd/web-app_2_3.dtd">
    en J2EE 1.4 :
    Code xml : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    <?xml version="1.0" encoding="UTF-8"?>
     
    <web-app xmlns="http://java.sun.com/xml/ns/j2ee"
    	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    	xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"
    	version="2.4">
    Modératrice Java - Struts, Servlets/JSP, ...

  4. #4
    Membre à l'essai
    Inscrit en
    Octobre 2007
    Messages
    63
    Détails du profil
    Informations forums :
    Inscription : Octobre 2007
    Messages : 63
    Points : 22
    Points
    22
    Par défaut
    Merci pour les remarques dans le fichier xml mais celà n'as pas ressoulu mon pb car j'ai tjrs blanche. je me dis que celà viendrai de ma servlet et j'aimerai que tu jette un coup d'oeil pour me donner ton avis.

    Code : 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
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    package Servlets;
     
    import java.io.IOException;
    import java.sql.CallableStatement;
    import java.sql.Connection;
    import java.sql.DriverManager;
    import java.sql.ResultSet;
    import java.util.ArrayList;
     
    import javax.servlet.ServletConfig;
    import javax.servlet.ServletException;
    import javax.servlet.http.HttpServlet;
    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;
    import javax.servlet.http.HttpSession;
     
     
    import Banking.Connexion;
     
     
    public class ServletConsultation extends HttpServlet {
     
    	/**
    	 * 
    	 */
    	private static final long serialVersionUID = 1L;
     
    	Connection Con;
    	String paramcon;
    	ResultSet Rs;
    	ArrayList messages = new ArrayList();
    	CallableStatement CallStmt;
     
    	//Procédure INIT
    	public void init() {
    		ServletConfig config = getServletConfig();
    		paramcon = config.getInitParameter("paramcon");
    	}
     
    //	Procédure DOPOST
    	public void doPost(HttpServletRequest request, HttpServletResponse response) throws IOException,
    		ServletException {
    		Connexion param = new Connexion(paramcon, "", "", "", "");
    		String coul="Magenta";
    		HttpSession session=request.getSession();
    		messages.clear();
    		String num=request.getParameter("txtnum"); 
     
    		if (num==null){
    			request.setAttribute("mess",messages);
    			request.setAttribute("coul",coul);
    			request.setAttribute("rs",Rs);
    			//messages.add("Veuillez entrer le num de compte à consulter!");
    			getServletContext().getRequestDispatcher("/Pages/Compte.jsp").forward(request,response);
    			try{Con.close();}catch(Exception e){}
    			return;
    		}
    		if (num.equals("")){
    			request.setAttribute("mess",messages);
    			request.setAttribute("coul",coul);
    			request.setAttribute("rs",Rs);	
    			messages.add("Veuillez entrer le numéro de compte à consulter!");
    			getServletContext().getRequestDispatcher("/Pages/Compte.jsp").forward(request,response);
    			try{Con.close();}catch(Exception e){}
    			return;
    		}
     
     
    		String codeutil=request.getParameter("txtlogin");
    		String modul="HomeFirst";
    		String dateop="";
     
    		boolean trouve=false;
    		try{
    			//param.lecture();
    			Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver"); //Chaine de connexion
    			Con = DriverManager.getConnection("jdbc:microsoft:sqlserver://192.168.11.128:1433;DatabaseName=HOMEFIRST", "administrateur", "admin"); //information venant du fichier de connexion
    			Rs=Con.createStatement().executeQuery("Select Nom,prenoms from ABONNES where NumAbo='"+ num +"'");
    			trouve=Rs.next();
    			if(!trouve){
    				messages.add("D&eacute;sol&eacute; ce num&eacute;ro n'existe pas dans la Base de donn&eacute;e HOMEFIRST");
    				request.setAttribute("mess",messages);
    				request.setAttribute("coul",coul);
    				request.setAttribute("rs",Rs);
    				getServletContext().getRequestDispatcher("/Pages/Compte.jsp").forward(request,response);
    				try{Con.close();}catch(Exception e){}
    				return;
    			}
    		}catch(Exception e){
    		messages.add("Erreur : " + e.getMessage());
    		}
     
    		if (messages.size()>0){
    			request.setAttribute("mess",messages);
    			request.setAttribute("coul",coul);
    			request.setAttribute("rs",Rs);	
    			getServletContext().getRequestDispatcher("/Pages/Compte.jsp").forward(request,response);
    		}
    		else{	
    			try{
    				param.lecture();
    				Class.forName(param.getDriver()); //Chaine de connexion
    				Con = DriverManager.getConnection(param.getURL(), param.getLogin(), param.getPwd()); //information venant du fichier de connexion
    					CallStmt=Con.prepareCall("{CALL PS_Enreg_Journal(?, ?, ?, ?)}");
    					CallStmt.setString(1,modul);
    					CallStmt.setString(2,num);
    					CallStmt.setString(3,dateop);
    					CallStmt.setString(4,codeutil);
    					CallStmt.executeUpdate();
    					session.setAttribute("nom", Rs.getString(1)+ " "+ Rs.getString(2));
    					session.setAttribute("num", num);
    					request.setAttribute("mess",messages);
    					request.setAttribute("coul",coul);
    					request.setAttribute("rs",Rs);
    					getServletContext().getRequestDispatcher("/Pages/Extraire.jsp").forward(request,response);
    			}catch(Exception e){
    				messages.add("Erreur lors de la consultation : " + e.getMessage());
    				coul="Magenta";
    			}
     
     
    		}
    		try{Rs.close(); Con.close();}catch(Exception ex){}
    	}
    //Procédure	DOGET
    public void doGet(HttpServletRequest request, HttpServletResponse response) throws IOException,
    	ServletException {
    		doPost(request, response);
    	}
    }
    Merci de m'aider car moi j'ai beau cherché je vois rien peut être quelqu'un pourai remarquer une erreur que je fais

  5. #5
    Membre confirmé
    Avatar de link256
    Profil pro
    Développeur Java
    Inscrit en
    Février 2003
    Messages
    596
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Février 2003
    Messages : 596
    Points : 642
    Points
    642
    Par défaut
    Pour savoir si cela vient de ta servlet ou non

    vide ta servlet dans laquelle tu auras juste un "hello word"

    si sa marche remet un peu du code de ta servlet et retest en ajoutant au fur à mesure et tu arriveras sur la portion qui fait planter ton code c'est pas ce qu'il y a de plus joli mais c'est efficace.


    2 eme point :

    je vois que tu as plusieurs try catch ou tu ne traite ni n'afficher l'erreur responsable de ton problème
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    try{} catch(Exception e){}
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    try{} catch(Exception e){e.printStackTrace();}
    Pour une meillieur lisibilité de ton code
    tu peux avoir un seul "TRY" et plusieurs catch de la manière suivante :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    try
    {...}
    catch(IOException ioex){ioex.getMessage());}
    catch(SQLException sqlex){sqlex.getMessage());}
    catch(Exception ex){ex.getMessage());}
    finaly{}

  6. #6
    Membre régulier
    Inscrit en
    Septembre 2006
    Messages
    112
    Détails du profil
    Informations forums :
    Inscription : Septembre 2006
    Messages : 112
    Points : 104
    Points
    104
    Par défaut
    La servlet default est interne à Tomcat.

    Il faudrait que tu regarde dans les logs au démarrage de tomcat si tu n'as pas une erreur au chargement de cette classe

    org.apache.catalina.servlets.DefaultServlet

    Elle fait normalement partie du fichier catalina.jar et sert aux accès disque

    Tu as des explications ici :

    http://tomcat.apache.org/tomcat-5.5-...t-servlet.html

  7. #7
    Membre à l'essai
    Inscrit en
    Octobre 2007
    Messages
    63
    Détails du profil
    Informations forums :
    Inscription : Octobre 2007
    Messages : 63
    Points : 22
    Points
    22
    Par défaut
    Bsr!
    le problème est que j'ai cette page blanche dans la majorité de mes pages. voici l'une surement tu trouvera ce qui pose le problème. merci d'avance pour l'aide:
    Code : 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
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
    140
    141
    142
    143
    144
    145
    146
    147
    148
    <%@ page import="java.util.*" %>
    <%
                    ArrayList listMess= (ArrayList)request.getAttribute("mess");
                    String couleur = (String)request.getAttribute("coul");
                    String numcpte=(String)request.getAttribute("num"); if (numcpte==null) numcpte="";
                    String login=(String)session.getAttribute("login"); if (login==null) login=""; 
                    String profil=(String)session.getAttribute("profil"); if (profil==null) profil=""; //out.println(profil);
                    if(login==""){
                            getServletContext().getRequestDispatcher("/Pages/Connexion.jsp").forward(request,response);
                    }       
                    
    %>
     
    <html>
    <head>
    	<title>Consultation</title>
    	<link rel="stylesheet" href="./Styles/styles.css">
    	<script language="javascript" src="./Pages/Scripts/lang.js"></script>
     
    </head>
    <body>
    	<br><br><br><br><br><br>
    	<table align="center" width="90%">
    		<tr>
    			<td background="./Images/border.gif" width="20"></td>
    			<td>
    				<table align="center" width="100%" background="./Images/24.jpg">
    					<tr>
    						<td><img src="./Images/AFB.jpg"></td>
    					</tr>
    					<tr>
    						<td>&nbsp;</td>
    					</tr>
    					<tr>
    						<td>&nbsp;&nbsp;BIENVENUE <%=login%></td>
    					</tr>
    					<tr>
    						<td>&nbsp;</td>
    					</tr>
    					<tr>
    						<td align="center"> <a href="/Banking/csul"> Consultation </a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <a href="/Banking/stat"> Statistiques </a> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="/Banking/statis"> Rapport </a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="/Banking/nbreop"> Nbre op&eacute;rations </a> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="/Banking/admin"> Administration </a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <a href="/Banking/chprl"> Changer le Mot de passe </a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <a href="/Banking/decon"> D&eacute;connexion </a> </td>
    					</tr>
    					<tr>
    						<td>&nbsp;</td>
    					</tr>
     
    					<tr>
    						<td>
    							<table align="center" width="80%">
    								 <form name="Frmconsul" action="/Banking/csul" method="post">
    								<tr>
    									<td> Num&eacute;ro d'abonn&eacute;s</td>
    								  <td><input type="text" name="txtnum" value="<%=numcpte%>" maxlength="7" onKeyPress="return QueNum(event);" onFocus="this.value='';">
     
    								      <input type="submit" name="val" value="Consultation">  <input type="hidden" value="<%=login%>" name="txtlogin">
    								  </td>
    								  <td>&nbsp;</td>
    								</tr>
    								  </form>
    								<tr>
    									<td>Nom de l'abonn&eacute;</td>
    									<td colspan="2"><input type="text" name="txtnom" value="" style="width:500 " readonly="true"> </td>
    								</tr>
    								<tr>
    									<td>Mot de passe Net</td>
    									<td><input type="text" name="txtnet" value="" readonly="true" style="width:500 "> </td>
    									<td>&nbsp;</td>
    								</tr>
    								<tr>
    									<td>Mot de passe Home</td>
    									<td><input type="text" name="txtnet" value="" readonly="true" style="width:500 "> </td>
    								  <td>&nbsp;</td>
    								</tr>
    								<tr>
    									<td>&nbsp;</td>
    								  <td align="right">&nbsp; </td>
    								   <td>&nbsp;</td>
    								</tr>
     
    							</table>
    						</td>
    					</tr>
    					<tr>
    					  <td >&nbsp; </td>
    					</tr>
    					<tr>
    						<td>
    						<TABLE cellSpacing=0 cellPadding=0 width="59%" border=0 align="center">
    								<TR>
    								  <TD width="1%" height=2><IMG height=26 
    									src="Images/body_lt.gif" width=33></TD>
    								  <TD width="92%" background=Images/body_top.gif 
    								  height=2>&nbsp;</TD>
    								  <TD width="7%" height=2><IMG height=26 
    									src="Images/body_lr.gif" width=33></TD></TR>
    								<TR>
    								  <TD width="1%" background=Images/body_left.gif 
    								  height=17>&nbsp;</TD>
    								  <TD width="92%" height=17>
    									<CENTER>
    									<table width="80%" align="center">
    									<tr>
    											<td> <font face="Verdana" size="2" color="<%=couleur%>">
    											<ul>
    											  <%
                                                                                                                    if (listMess!=null && listMess.size()>0){
                                                                                                                            for(int i=0; i<listMess.size(); i++){
                                                                                                            %>
    											  <li><%=(String)listMess.get(i)%></li>
    											  <%
                                                                                                                            }
                                                                                                                    }
                                                                                                            %>
    											</ul>
    											</font> 
    										  </td>
    										</tr>
    								</table>
     
    									</CENTER>
    								  </TD>
    								  <TD width="7%" background=Images/body_right.gif 
    								  height=17>&nbsp;</TD></TR>
    								<TR>
    								  <TD width="1%"><IMG height=26 src="Images/body_lb.gif" 
    									width=33></TD>
    								  <TD width="92%" background=Images/body_bottom.gif>&nbsp;</TD>
    								  <TD width="7%"><IMG height=26 src="Images/body_rb.gif" 
    									width=33></TD>
    								</TR>
     
    							</TABLE>
     
     
    						</td>
    					</tr>
    					<tr>
    						<td>&nbsp;</td>
    					</tr>
    				</table>
     
    			</td>
    			<td background="./Images/border.gif" width="20"></td>
    		</tr>
    	</table>
     
    </body>
    </html>

  8. #8
    Membre à l'essai
    Inscrit en
    Octobre 2007
    Messages
    63
    Détails du profil
    Informations forums :
    Inscription : Octobre 2007
    Messages : 63
    Points : 22
    Points
    22
    Par défaut
    Salut!
    pour mieux comprendre voici le code du fichier .xml et de la servlet traitant la page jsp:

    fichier web.xml :
    Code xml : 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
    <?xml version="1.0" encoding="UTF-8"?>
    <web-app xmlns="http://java.sun.com/xml/ns/j2ee"
    	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    	xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"
    	version="2.4">
     
    	<display-name>Banking</display-name>
     
    	<servlet>
    		<servlet-name>ServletConnexion</servlet-name>
    		<servlet-class>Servlets.ServletConnexion</servlet-class>
    		<init-param>
    			<param-name>paramcon</param-name>
    			<param-value>D:\Banking\config.txt</param-value>
    		</init-param>		
    	</servlet>
     
    	<servlet>
    		<servlet-name>ServletConsultation</servlet-name>
    		<servlet-class>Servlets.ServletConsultation</servlet-class>
    		<init-param>
    			<param-name>paramcon</param-name>
    			<param-value>D:\Banking\config.txt</param-value>
    		</init-param>		
    	</servlet>
     
    <servlet-mapping>
    		<servlet-name>ServletConsultation</servlet-name>
    		<url-pattern>/ban</url-pattern>
    	</servlet-mapping>
     
    	<servlet-mapping>
    		<servlet-name>ServletConnexion</servlet-name>
    		<url-pattern>/con</url-pattern>
    	</servlet-mapping>
     
     
    	<session-config>
          <session-timeout>30</session-timeout> 
        </session-config>
     
    	<welcome-file-list>
    		<welcome-file>/index.jsp</welcome-file>
    	</welcome-file-list>
     
     
    </web-app>
    servlet traitant la jsp :
    Code : 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
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    package Servlets;
     
    import java.io.IOException;
    import java.sql.CallableStatement;
    import java.sql.Connection;
    import java.sql.DriverManager;
    import java.sql.ResultSet;
    import java.util.ArrayList;
     
    import javax.servlet.ServletConfig;
    import javax.servlet.ServletException;
    import javax.servlet.http.HttpServlet;
    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;
    import javax.servlet.http.HttpSession;
     
     
    import Banking.Connexion;
    import Banking.Consultation;
     
     
    public class ServletConsultation extends HttpServlet {
     
    	/**
    	 * 
    	 */
    	private static final long serialVersionUID = 1L;
     
    	Connection Con;
    	String paramcon;
    	ResultSet Rshome;
    	ArrayList messages = new ArrayList();
    	CallableStatement CallStmt;
     
    	//Procédure INIT
    	public void init() {
    		ServletConfig config = getServletConfig();
    		paramcon = config.getInitParameter("paramcon");
    	}
     
    //	Procédure DOGET
    	public void doGet(HttpServletRequest request, HttpServletResponse response) throws IOException,
    	ServletException {
     
    		Connexion param = new Connexion(paramcon, "", "", "", "");
    		String coul="Magenta";
    		HttpSession session=request.getSession();
    		messages.clear();
    		String num=request.getParameter("txtnum"); if (num==null) num="";  
    		boolean trouvehome;
    		if (num.equals("")){
    			request.setAttribute("num",num);
    			request.setAttribute("mess",messages);
    			request.setAttribute("coul",coul);
    			messages.add("Veuillez entrer le num de compte à consulter!");
    			getServletContext().getRequestDispatcher("/Pages/Compte.jsp").forward(request,response);
    		}
     
    		String codeutil=request.getParameter("txtlogin"); if (codeutil==null) codeutil="";
    		String modul="HomeFirst";
    		String dateop="";
     
    		//boolean trouvenet=false;
    		try{
    			/*param.lecture();
    			Class.forName(param.getDriver()); //Chaine de connexion
    			Con = DriverManager.getConnection(param.getURL(), param.getLogin(), param.getPwd()); //information venant du fichier de connexion
    			Rshome=Con.createStatement().executeQuery("Select csecret, nom, prenoms from Abonnes where numabo='" + num + "'");*/
    			Rshome=Consultation.selectAbonnes(num);
    			trouvehome=Rshome.next();
    			if (!trouvehome){
    				messages.add("Ce client n'est pas abonné au service HomeFirst");
    				request.setAttribute("num",num);
    				request.setAttribute("mess",messages);
    				request.setAttribute("coul",coul);
    				getServletContext().getRequestDispatcher("/Pages/Compte.jsp").forward(request,response);
    			}
     
    		}catch(Exception e){
    		messages.add("Erreur : " + e.getMessage());
    		}
     
    		if (messages.size()>0){
    			request.setAttribute("num",num);
    			request.setAttribute("mess",messages);
    			request.setAttribute("coul",coul);
    			//getServletContext().getRequestDispatcher("/Pages/Compte.jsp").forward(request,response);
    		}
    		else{	
    			try{
    				param.lecture();
    				Class.forName(param.getDriver()); //Chaine de connexion
    				Con = DriverManager.getConnection(param.getURL(), param.getLogin(), param.getPwd()); //information venant du fichier de connexion
    					CallStmt=Con.prepareCall("{CALL PS_Enreg_Journal(?, ?, ?, ?)}");
    					CallStmt.setString(1,modul);
    					CallStmt.setString(2,num);
    					CallStmt.setString(3,dateop);
    					CallStmt.setString(4,codeutil);
    					CallStmt.executeUpdate();
    					session.setAttribute("nom", Rshome.getString(2)+ " "+ Rshome.getString(3));
    					session.setAttribute("num", num);
    					request.setAttribute("mess",messages);
    					request.setAttribute("coul",coul);
    					getServletContext().getRequestDispatcher("/Pages/Extraire.jsp").forward(request,response);
    			}catch(Exception e){
    				messages.add("Erreur lors de la consultation : " + e.getMessage());
    				coul="Magenta";
    			}
    		}
    		//getServletContext().getRequestDispatcher("/Pages/Compte.jsp").forward(request,response);
    	}
    //Procédure	DOGET
    	public void doPost(HttpServletRequest request, HttpServletResponse response) throws IOException,
    	ServletException {
    		doGet(request, response);
    	}
    }
    Merci d'y jeter un coup d'oeil et de m'aider.

  9. #9
    Expert éminent

    Femme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    5 793
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 5 793
    Points : 7 778
    Points
    7 778
    Par défaut
    Je pense que ton problème de page blanche vient du fait qu'en cas d'exception, tu ne fais pas de forward.
    Il faudrait que tu prévois une page d'erreur et donc ajouter un :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    getServletContext().getRequestDispatcher("/Pages/erreur.jsp").forward(request,response);
    dans les catch Exception.
    Modératrice Java - Struts, Servlets/JSP, ...

  10. #10
    Membre à l'essai
    Inscrit en
    Octobre 2007
    Messages
    63
    Détails du profil
    Informations forums :
    Inscription : Octobre 2007
    Messages : 63
    Points : 22
    Points
    22
    Par défaut
    Slt!
    merci pour la proposition j'ai esayé mais il me faut faire plusieurs test pour voir sa réaction.je n'arrive toujours à commprendre le problème de "saturation" du server Tomcat car je suis souvent obligé de le redémarré.Comment faire pour y rémédié??? merci

  11. #11
    Modérateur
    Avatar de OButterlin
    Homme Profil pro
    Inscrit en
    Novembre 2006
    Messages
    7 310
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 7 310
    Points : 9 522
    Points
    9 522
    Billets dans le blog
    1
    Par défaut
    Ça ne m'étonne pas que tu relances ton serveur souvent...
    Tu as oublié de libérer la connexion
    Code : 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
     
    Connection connection = null;
    try
    {
       connection = DriverManager.getConnection(...);
     
       ... le code applicatif
    }
    catch (...)
    {
    }
    finally
    {
       // on libère ici !
       if ( connection != null ) connection.close();
    }
    En plus, tu définis l'objet "Connection" dans la classe servlet (ce qui n'est pas bon du tout puisque multi-thread) alors qu'il faut la mettre dans la méthode doGet (ou doPost ou service en fonction de ce que tu as retenu).
    Idem pour le CallableStatement...

    A+
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  12. #12
    Membre à l'essai
    Inscrit en
    Octobre 2007
    Messages
    63
    Détails du profil
    Informations forums :
    Inscription : Octobre 2007
    Messages : 63
    Points : 22
    Points
    22
    Par défaut
    Bjr!
    merci pour le code
    Code : 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
     
    Connection connection = null;
    try
    {
       connection = DriverManager.getConnection(...);
     
       ... le code applicatif
    }
    catch (...)
    {
    }
    finally
    {
       // on libère ici !
       if ( connection != null ) connection.close();
    }
    mais j'ai un petit soucis au niveau de "connextion.close();" il me renvoi une erreur:

    Unhandled exception type SQLException comment ressoudre cette erreur??

  13. #13
    Modérateur
    Avatar de OButterlin
    Homme Profil pro
    Inscrit en
    Novembre 2006
    Messages
    7 310
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 7 310
    Points : 9 522
    Points
    9 522
    Billets dans le blog
    1
    Par défaut
    Soit tu changes la signature de la méthode
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    
    public void doGet(HttpServletRequest request, HttpServletResponse response) throws IOException,	ServletException, SQLException {
    soit tu fais
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    finally
    {
       try { if (connection != null) connection.close(); } catch (Exception e) {}
    }
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  14. #14
    Membre à l'essai
    Inscrit en
    Octobre 2007
    Messages
    63
    Détails du profil
    Informations forums :
    Inscription : Octobre 2007
    Messages : 63
    Points : 22
    Points
    22
    Par défaut
    Merci!
    il m'arrive d'avoir l'erreur 404, je sais que c'est une erreur coté client. comment l'a ressoudre?

  15. #15
    Modérateur
    Avatar de OButterlin
    Homme Profil pro
    Inscrit en
    Novembre 2006
    Messages
    7 310
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 7 310
    Points : 9 522
    Points
    9 522
    Billets dans le blog
    1
    Par défaut
    404 = Page not found

    Ça pourrait venir d'un lien ou de l'attribut "action" dans un formulaire mal positionné.
    Typiquement, c'est ce genre d'erreur
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    <a href="/monAction.do">Un lien</a>
    
    et il faudrait
    
    <a href="<%=request.getContextPath()%>/monAction.do">Un lien</a>
    Idem pour le formulaire

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    <form action="/monAction.do">
    ...
    </form>
    
    et il faudrait
    
    <form action="<%=request.getContextPath()%>/monAction.do">
    ...
    </form>
    A+
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  16. #16
    Membre à l'essai
    Inscrit en
    Octobre 2007
    Messages
    63
    Détails du profil
    Informations forums :
    Inscription : Octobre 2007
    Messages : 63
    Points : 22
    Points
    22
    Par défaut
    je ne comprend pas bien!!
    je faisais:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    <a href="/monContext/lemappinddelaservlet">Un lien</a>
     
    ou encore
     
    <form action="/monContext/lemappinddelaservlet">
    ...
    </form>
    devrai je faire maintenant

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    <a href="<%=request.getContextPath()%>/monContext/lemappinddelaservlet">Un lien</a>
     
    ou encore
     
    <form action="<%=request.getContextPath()%>/monContext/lemappinddelaservlet">
    ...
    </form>
    ou encore

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    <a href="<%=request.getContextPath()%>/lemappinddelaservlet">Un lien</a>
     
    ou encore
     
    <form action="<%=request.getContextPath()%>/lemappinddelaservlet">
    ...
    </form>

  17. #17
    Membre à l'essai
    Inscrit en
    Octobre 2007
    Messages
    63
    Détails du profil
    Informations forums :
    Inscription : Octobre 2007
    Messages : 63
    Points : 22
    Points
    22
    Par défaut
    j'ai aussi remarqué que la durée de mes variables session étais trop courte, ce qui obligeais l'utilisateur à se reconnecter tout le temp. et c'est embêtant à la fin. comment faire pour y remedier??? j'ai pourtant mis la durée d'une session à 30minutes dans mon ficher web.xml
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
        <session-config>
          <session-timeout>30</session-timeout> 
        </session-config>

  18. #18
    Modérateur
    Avatar de OButterlin
    Homme Profil pro
    Inscrit en
    Novembre 2006
    Messages
    7 310
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 7 310
    Points : 9 522
    Points
    9 522
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par lovelace Voir le message
    je ne comprend pas bien!!
    je faisais:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    <a href="/monContext/lemappinddelaservlet">Un lien</a>
     
    ou encore
     
    <form action="/monContext/lemappinddelaservlet">
    ...
    </form>
    devrai je faire maintenant

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    <a href="<%=request.getContextPath()%>/monContext/lemappinddelaservlet">Un lien</a>
     
    ou encore
     
    <form action="<%=request.getContextPath()%>/monContext/lemappinddelaservlet">
    ...
    </form>
    ou encore

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    <a href="<%=request.getContextPath()%>/lemappinddelaservlet">Un lien</a>
     
    ou encore
     
    <form action="<%=request.getContextPath()%>/lemappinddelaservlet">
    ...
    </form>
    Ta version est figée alors que la mienne est dynamique.
    Si je renomme le "context-root", je n'ai pas a modifier les pages

    Pour la session, le paramétrage est bon, peut-être fais-tu un session.invalidate() quelque part ou des session.remove(...) des objets...
    Difficile de dire...
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  19. #19
    Membre à l'essai
    Inscrit en
    Octobre 2007
    Messages
    63
    Détails du profil
    Informations forums :
    Inscription : Octobre 2007
    Messages : 63
    Points : 22
    Points
    22
    Par défaut
    Citation
    Pour la session, le paramétrage est bon, peut-être fais-tu un session.invalidate() quelque part ou des session.remove(...) des objets...
    Difficile de dire...
    nul part dans mon projet je n'ai fais un session.invalidate() ou un session.remove des valeurs en session dont je ne pense pas que le problèm puisse venir de là

  20. #20
    Membre à l'essai
    Inscrit en
    Octobre 2007
    Messages
    63
    Détails du profil
    Informations forums :
    Inscription : Octobre 2007
    Messages : 63
    Points : 22
    Points
    22
    Par défaut
    A moins que le prpblème viennent de la position de ce code dans mon fichier web.xml, je l'ai placé juste avant le faire le welcomefile et de fermer le web.xml
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    .......
    <session-config>
          <session-timeout>30</session-timeout> 
        </session-config>
     
    	<welcome-file-list>
    		<welcome-file>/index.jsp</welcome-file>
    	</welcome-file-list>
     
     
    </web-app>
    est-ce la bonne possition???

Discussions similaires

  1. Réponses: 2
    Dernier message: 26/12/2007, 19h02
  2. [Joomla!] Un composant sur une page vierge
    Par naima2005 dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 5
    Dernier message: 31/10/2007, 10h04
  3. [Custom Tags 1.2] Une page vierge s'affiche
    Par keub51 dans le forum Taglibs
    Réponses: 3
    Dernier message: 06/09/2007, 16h54
  4. [Etat] Une page vierge pour rien.
    Par nodogeid dans le forum IHM
    Réponses: 2
    Dernier message: 06/06/2007, 17h00
  5. [Système] Page vierge !
    Par ruty dans le forum Langage
    Réponses: 31
    Dernier message: 09/05/2006, 16h53

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo