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

Struts 1 Java Discussion :

Erreurs struts + Temps génération


Sujet :

Struts 1 Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    52
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 52
    Par défaut Erreurs struts + Temps génération
    Bonsoir,

    Je suis un peu débutant avec struts et j'aurais 2 questions :

    La première : serait-il possible de récupérer le nombre d'erreur enregistrer dans les pages JSP ??

    La deuxième : comment vous prendriez-vous pour calculer le temps total de génération de la page HTML. Sachant que j'ai séparé mes pages avec tiles en plusieurs partie : header / corps / footer
    Si je met une date en entete et calcul le temps de différence dans le footer, j'aurais seulement le temps de génération des pages JSP mais pas de tout le process "requestProcessor -> Action -> ...." ???

    Merci d'avance.

  2. #2
    Expert confirmé

    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
    Par défaut
    Concernant la deuxième question, jette un oeil à cette discussion et à la classe Filter suivante qui permet de calculer le temps d'exécution d'une servlet :
    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
    public class TimeFilter implements Filter
    {
       public void init(FilterConfig arg0) throws ServletException { }
     
       public void doFilter(ServletRequest req, ServletResponse resp, FilterChain chain) throws IOException, ServletException
       {
    	HttpServletRequest request = (HttpServletRequest) req;
    	Date dateAvant = new Date() ;
    	chain.doFilter(req,resp) ;
    	Date dateApres = new Date() ;
    	long duree = dateApres.getTime()-dateAvant.getTime() ;
    	System.out.println("Duree de la servlet=" +request.getRequestURL()+" : "+duree+ "ms") ;
       }
       public void destroy() { }
    }

  3. #3
    Membre chevronné

    Profil pro
    Inscrit en
    Mars 2007
    Messages
    392
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 392
    Par défaut
    Bonjour,
    La durée d'exécution de la servlet est rendue par un System.out.println(), cad uniquement sur le serveur.
    Comment rendre cette information à l'utilisateur=> sur le navigateur?

  4. #4
    Expert confirmé

    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
    Par défaut
    Je viens de me rendre compte que j'avais complètement oublié de répondre à mattheox.

    Pour afficher la durée dans la jsp, je pense que le plus simple est d'utiliser le filtre simplement pour stocker la datetime de début dans le scope request. Ensuite, dans la jsp, il suffit de la récupérer, faire le calcul de la durée et l'afficher.

  5. #5
    Membre chevronné

    Profil pro
    Inscrit en
    Mars 2007
    Messages
    392
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 392
    Par défaut
    Citation Envoyé par c_nvy Voir le message
    Je viens de me rendre compte que j'avais complètement oublié de répondre à mattheox.

    Pour afficher la durée dans la jsp, je pense que le plus simple est d'utiliser le filtre simplement pour stocker la datetime de début dans le scope request. Ensuite, dans la jsp, il suffit de la récupérer, faire le calcul de la durée et l'afficher.
    t'as raison, j'y avais pas pensé
    et pour aller plus loin, je mettrai ce code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    dans la jsp, il suffit de la récupérer, faire le calcul de la durée et l'afficher.
    dans un taglib lié avec le filter :-)
    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
    public class TimeTag extends TagSupport {
     
    	public static final String START_PARAM = "Time.START";
     
    	public int doStartTag() throws JspException {
    		long end = new Date().getTime();
    		long start = 0;
     
    		try {
    			Date startParam = (Date) this.pageContext.getRequest().getAttribute(START_PARAM);
    			if (startParam != null) {
    				start = startParam.getTime();
    				this.pageContext.getOut().print(end - start);
    			} else {
    				// au choix...
    				this.pageContext.getOut().print("erreur");
    			}
    		} catch (ClassCastException e) {
    			// au choix
    			// => prévenir l'utilisateur : throw new JspException(e);
    			// => ne pas prévenir l'utilisateur : ne rien faire.
    		} catch (IOException e) {
    			throw new JspException(e);
    		}
     
    		return SKIP_BODY;
    	}
    }
    et
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    public class TimeFilter implements Filter
    {
       public void init(FilterConfig arg0) throws ServletException { }
     
       public void doFilter(ServletRequest req, ServletResponse resp, FilterChain chain) throws IOException, ServletException
       {
    	HttpServletRequest request = (HttpServletRequest) req;
    	req.setAttribute(START_PARAM, new Date());
    	chain.doFilter(req,resp) ;
       }
       public void destroy() { }
    }
    et dans la jsp :

Discussions similaires

  1. Réponses: 2
    Dernier message: 15/01/2007, 14h42
  2. Erreur Struts Eclipse
    Par athmanejr dans le forum Struts 1
    Réponses: 1
    Dernier message: 12/12/2006, 22h22
  3. Réponses: 6
    Dernier message: 19/06/2006, 12h15
  4. Temps génération PhP & MySql
    Par WebChamoland dans le forum SQL Procédural
    Réponses: 1
    Dernier message: 09/03/2006, 17h17
  5. Temps génération page...
    Par SangKou dans le forum Langage
    Réponses: 21
    Dernier message: 29/11/2005, 11h46

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