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 :

Problème package does not exist!


Sujet :

Servlets/JSP Java

  1. #1
    Membre éclairé Avatar de mumu27
    Profil pro
    Développeur informatique
    Inscrit en
    Mars 2009
    Messages
    213
    Détails du profil
    Informations personnelles :
    Âge : 49
    Localisation : France, Eure (Haute Normandie)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mars 2009
    Messages : 213
    Par défaut Problème package does not exist!
    Bonjour j'ai un souci avec deux programmes que je n'arrive pas à compiler.

    Voici le message d'erreur:
    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
     
     
    D:\J2EE\stock\WEB-INF\classes>javac -classpath %J2EE_HOME%\lib\j2ee.jar StockLis
    tServlet.java
    StockListServlet.java:7: package facade does not exist
    import facade.*;
    ^
    StockListServlet.java:23: cannot resolve symbol
    symbol  : class StockListFacade
    location: class web.StockListServlet
          StockListFacade facade = StockListFacade.getFacade();
          ^
    StockListServlet.java:23: cannot resolve symbol
    symbol  : variable StockListFacade
    location: class web.StockListServlet
          StockListFacade facade = StockListFacade.getFacade();
                                   ^
    3 errors
    Voici l'arborescence des fichiers:

    stock/
    AnalystForm.jsp
    Error.jsp
    index.html
    ProcessAnalyst.jsp
    RatingsForm.jsp
    WEB-INF/
    web.xml
    classes/
    web/
    AddRating.class
    StockListServlet.class

    J'ai un autre projet que j'ai déployé qui contient des fichiers utilisés en import dans les fichiers que j'essaye de compiler. Voici l'arborescence:
    Ch11/
    StockListServlet/
    beans/
    client/
    facade/
    StockListException.java
    StockListServlet.java
    vo/
    AnalystVo.java
    StockVo.java

    Voici les fichiers que je n'arrive pas à compiler:

    StockListServlet.java

    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
    package web;
     
    import javax.servlet.*;
    import javax.servlet.http.*;
    import java.io.*;
    import java.util.*;
    import facade.*;
     
    public class StockListServlet extends HttpServlet {
      public void doPost(HttpServletRequest request,
      	HttpServletResponse response)
      {
        doGet(request, response);
      }
     
      public void doGet(HttpServletRequest request,
      	HttpServletResponse response)
      {
        try {
          ArrayList data = null;
          RequestDispatcher dispatcher;
          ServletContext context = getServletContext();
          StockListFacade facade = StockListFacade.getFacade();
          String name = request.getPathInfo();
          name = name.substring(1);
          System.out.println("name="+name);
          if ("AnalystForm".equals(name)) {
            data = facade.getAllAnalysts();
            request.setAttribute("data", data);
          } else if ("RatingsForm".equals(name)) {
            data = facade.getStockRatings();
            request.setAttribute("data", data);
            request.setAttribute("analysts", facade.getAllAnalysts());
            request.setAttribute("unrated", facade.getUnratedStocks());
      	  }  else if ("AddRating".equals(name)) {
    		 // rien à faire, juste faire suivre la requête
      	  } else {
    		name = "Error";
      	  }
     
    	  dispatcher = context.getNamedDispatcher(name);
    	  if (dispatcher == null) {
    		dispatcher = context.getNamedDispatcher("Error");
      	  }
      	  dispatcher.forward(request, response);
    	} catch (Exception e) {
    	  e.printStackTrace();
    	}
      }
    }
    AddRating.java
    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
    package web;
     
    import javax.servlet.*;
    import javax.servlet.http.*;
    import facade.*;
    import vo.*;
     
    public class AddRating extends HttpServlet {
      public void doPost(HttpServletRequest request,
                         HttpServletResponse response)
      {
        try {
          String analyst = request.getParameter("analysts");
          Integer id = new Integer(analyst);
          String ticker = request.getParameter("stocks");
          String rating = request.getParameter("ratings");
     
          StockVo stockVo = new StockVo(ticker, null, rating);
          stockVo.setAnalyst(new AnalystVo(id, null));
          StockListFacade facade = StockListFacade.getFacade();
          facade.addStockRating(stockVo);
     
          request.setAttribute("data", facade.getStockRatings());
          request.setAttribute("analysts", facade.getAllAnalysts());
          request.setAttribute("unrated", facade.getUnratedStocks());
     
          ServletContext context = getServletContext();
          RequestDispatcher dispatcher =
            context.getNamedDispatcher("RatingsForm");
          dispatcher.forward(request, response);
        } catch (Exception e) {
     
        }
      }
    }
    Voilà, je vois bien qu'il y'a un problème de package, mais je ne sais pas à quel endroit la facade et les Value Object.

    Merci d'avance pour votre réponse

  2. #2
    Expert éminent
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 482
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 482
    Par défaut
    dans le classpath de ta commade tu dois aussi inclure le jar de l'autre projet dont tu dépend. Et mettre au final ce jar dans le WEB-INF/lib du war que tu va générer.

  3. #3
    Membre éclairé Avatar de mumu27
    Profil pro
    Développeur informatique
    Inscrit en
    Mars 2009
    Messages
    213
    Détails du profil
    Informations personnelles :
    Âge : 49
    Localisation : France, Eure (Haute Normandie)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mars 2009
    Messages : 213
    Par défaut
    Bonjour,

    finalement j'ai ajouté la façade et les Value Objects au fichier WAR. Cependant, j'ai encore des soucis.
    Voici le message d'erreur:

    [#|2010-08-04T07:31:52.265+0000|WARNING|sun-appserver-pe8.1_02|javax.enterprise.system.stream.err|_ThreadID=18;|
    java.lang.NullPointerException
    at web.StockListServlet.doGet(StockListServlet.java:45)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:747)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:860)
    at sun.reflect.GeneratedMethodAccessor71.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:585)
    at org.apache.catalina.security.SecurityUtil$1.run(SecurityUtil.java:249)
    at java.security.AccessController.doPrivileged(Native Method)
    at javax.security.auth.Subject.doAsPrivileged(Subject.java:517)
    at org.apache.catalina.security.SecurityUtil.execute(SecurityUtil.java:282)
    at org.apache.catalina.security.SecurityUtil.doAsPrivilege(SecurityUtil.java:165)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:257)
    at org.apache.catalina.core.ApplicationFilterChain.access$000(ApplicationFilterChain.java:55)
    at org.apache.catalina.core.ApplicationFilterChain$1.run(ApplicationFilterChain.java:161)
    at java.security.AccessController.doPrivileged(Native Method)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:157)
    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:263)
    at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:551)
    at org.apache.catalina.core.StandardContextValve.invokeInternal(StandardContextValve.java:225)
    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:173)
    at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:551)
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:161)
    at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:551)
    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:132)
    at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:551)
    at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:933)
    at org.apache.coyote.tomcat5.CoyoteAdapter.service(CoyoteAdapter.java:185)
    at com.sun.enterprise.web.connector.grizzly.ProcessorTask.process(ProcessorTask.java:653)
    at com.sun.enterprise.web.connector.grizzly.ProcessorTask.process(ProcessorTask.java:534)
    at com.sun.enterprise.web.connector.grizzly.ProcessorTask.doTask(ProcessorTask.java:403)
    at com.sun.enterprise.web.connector.grizzly.WorkerThread.run(WorkerThread.java:55)
    |#]
    Voici le programme java, où on signale un problème (StockListServlet.java):

    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
    package web;
     
    import javax.servlet.*;
    import javax.servlet.http.*;
    import java.io.*;
    import java.util.*;
    import facade.*;
     
    public class StockListServlet extends HttpServlet {
      public void doPost(HttpServletRequest request,
      	HttpServletResponse response)
      {
        doGet(request, response);
      }
     
      public void doGet(HttpServletRequest request,
      	HttpServletResponse response)
      {
        try {
          ArrayList data = null;
          RequestDispatcher dispatcher;
          ServletContext context = getServletContext();
          StockListFacade facade = StockListFacade.getFacade();
          String name = request.getPathInfo();
          name = name.substring(1);
          System.out.println("name="+name);
          if ("AnalystForm".equals(name)) {
            data = facade.getAllAnalysts();
            request.setAttribute("data", data);
          } else if ("RatingsForm".equals(name)) {
            data = facade.getStockRatings();
            request.setAttribute("data", data);
            request.setAttribute("analysts", facade.getAllAnalysts());
            request.setAttribute("unrated", facade.getUnratedStocks());
      	  }  else if ("AddRating".equals(name)) {
    		 // rien à faire, juste faire suivre la requête
      	  } else {
    		name = "Error";
      	  }
     
    	  dispatcher = context.getNamedDispatcher(name);
    	  if (dispatcher == null) {
    		dispatcher = context.getNamedDispatcher("Error");
      	  }
      	  dispatcher.forward(request, response);
    	} catch (Exception e) {
    	  e.printStackTrace();
    	}
      }
    }
    Je pense, cependant, que le problème vient de deux autres fichiers, au niveau d'un post:

    AnalystForm.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
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
    <html>
      <head>
        <title>Gestion des experts</title>
      </head>
     
      <body>
        <%@ page import="java.util.*" %>
        <h1>Gestion des experts</h1>
        <form action="ProcessAnalyst" method="POST">
          <table>
          <%
            ArrayList anlysts = (ArrayList)request.getAttribute("data");
            if (anlysts == null) {
          %>
            <h2> L'attribut est absent </h2>
          <%
            } else {
              for (int i = 0; i < anlysts.size(); i++) {
                AnalystVo analystData = (AnalystVo) anlysts.get(i);
          %>
            <tr>
              <td>
                <input type="checkbox" name="checkbox" value="<%= analystData.getName() %>"
              </td>
              <td>
                <%= analystData.getName() %>
              </td>
            </tr>
          <%
              }
            }
          %>
          </table>
          <input type="submit" value="Supprimer Selected" name="delete">
          <p>
          <input type="text" size="40" name="addname">
          <input type="submit" value="Ajouter un expert" name="add">
        </form>
        <hr>
      </body>
    </html>
    RatingsForm.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
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
    <html>
      <head>
        <title>Classement des actions</title>
      </head>
     
      <body>
        <h1>Classement des actions</h1>
     
      <%@ page import="java.util.*, vo.*" %>
    <%
        ArrayList stocks = (ArrayList) request.getAttribute("data");
        if (stocks != null && stocks.size() > 0) {
    %>
        <form action="AddRating" method="post">
        <table border="1">
      <tr>
        <th>Symbole</th>
        <th>Expert</th>
        <th>Appréciations</th>
      </tr>
    <%
            for (int i = 0; i < stocks.size(); i++) {
              StockVo stockInfo = (StockVo) stocks.get(i);
              String ticker = stockInfo.getTickerSymbol();
              String analyst = stockInfo.getAnalyst().getName();
              String rating = stockInfo.getRating();
    %>
        <tr>
          <td><%= ticker %></td>
          <td><%= analyst %></td>
          <td><%= rating %></td>
        </tr>
    <%
            }
    %>
        </table>
        <table>
          <tr>
      <td>
        <select name="analysts">
    <%
        ArrayList analysts = (ArrayList) request.getAttribute("analysts");
        for (int i = 0; i < analysts.size(); i++) {
          AnalystVo analyst = (AnalystVo) analysts.get(i);
    %>
          <option value="<%= analyst.getAnalystId() %>">
          	      <%= analyst.getName() %>
    <%¨
        }
    %>
        </select>
      </td>
      <td>
        <select name="stocks">
    <%
         ArrayList unratedStocks = 
             (ArrayList) request.getAttribute("unrated");
         for (int i = 0; i < unratedStocks.size(); i++) {
           StockVo stock = (StockVo) unratedStocks.get(i);
    %>
           <option value="<%= stock.getTickerSymbol() %>">
           	       <%= stock.getTickerSymbol() %>
    <%
         }
    %>
         </select>
      </td>
      <td>
        <select name="ratings">
          <option value="A fuir !">A fuir !
          <option value="Pourrait être pire !">Pourrait être pire !
          <option value="Moyen">Moyen
          <option value="A tenter !">A tenter !
          <option value="Incontournable !">Incontournable !
        </select>
      </td>
        </tr>
        <tr>
      <td>
        <input type="submit" value="Ajouter une appréciation">
      </td>
          </tr>
        </table>
        </form>
    <%
        } else {
    %>
        Aucune donnée trouvée
    <%
        }
    %>
        <hr>
      </body>
    </html>
    Par exemple, on me donne à la place de
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <form action="AddRating" method="post">
    , ceci,
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <form action="stockbis/servlet/StockList/AddRating" method="post">
    , donc je ne sais pas quel chemin mettre.

    Pouvez-vous m'éclaircir sur le sujet?

    Merci d'avance, mumu27!

  4. #4
    Expert éminent
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 482
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 482
    Par défaut
    at web.StockListServlet.doGet(StockListServlet.java:45)
    Ton erreur et en rapport avec cette ligne, il suffit de la lire.

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

    Informations forums :
    Inscription : Novembre 2006
    Messages : 7 313
    Billets dans le blog
    1
    Par défaut
    Ton erreur doit venir de la ligne substring, getPathInfo() te renvoie NULL.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    String name = request.getPathInfo();
    name = name.substring(1);
    Pourquoi faire ce routage au juste ?
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  6. #6
    Membre éclairé Avatar de mumu27
    Profil pro
    Développeur informatique
    Inscrit en
    Mars 2009
    Messages
    213
    Détails du profil
    Informations personnelles :
    Âge : 49
    Localisation : France, Eure (Haute Normandie)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mars 2009
    Messages : 213
    Par défaut
    Bonjour,

    après maintes manipulations, j'ai un autre problème maintenant:

    Etat HTTP 404 - /Ch11/StockListServletApp/web/AnalystForm

    --------------------------------------------------------------------------------

    type Rapport d'état

    message /Ch11/StockListServletApp/web/AnalystForm

    description La ressource demandée (/Ch11/StockListServletApp/web/AnalystForm) n'est pas disponible.


    --------------------------------------------------------------------------------

    Sun-Java-System/Application-Server

    Voici mon fichier index.html:

    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
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
    <html>
      <head>
        <title>Actions et experts</title>
      </head>
     
      <body>
        <h1>Actions et experts</h1>
        <p>
          <a href="/Ch11/StockListServletApp/web/AnalystForm">Liste des experts</a>
        <p>
          <a href="/Ch11/StockListServletApp/web/RatingsForm">Liste des appréciations</a>
        <hr>
      </body>
    </html>
    Voilà, je ne sais pas pourquoi il met que la ressource set indisponible.

    Je mets l'URL, à tout hasard:
    L'arborescence des fichiers

    D:\J2EE\Ch11\StockListServletApp\web\
    index.html
    RatingsForm.jsp
    AnalystForm.jsp
    ...

    L'URL fonctionne bien, j'ai bien les deux liens.

    Merci d'avance pour votre réponse.

    Mumu27!

  7. #7
    Expert éminent
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 482
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 482
    Par défaut
    soit l'application CH11 n'est pas déployée, soit t'as oublié le .jsp dans l'url.

  8. #8
    Membre éclairé Avatar de mumu27
    Profil pro
    Développeur informatique
    Inscrit en
    Mars 2009
    Messages
    213
    Détails du profil
    Informations personnelles :
    Âge : 49
    Localisation : France, Eure (Haute Normandie)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mars 2009
    Messages : 213
    Par défaut
    Cette fois-ci, cela marche mieux, mais j'ai encore quelques soucis.

    En effet, j'affiche notamment ceci sur une de mes pages, à partir de cet URL ():

    Classement des actions
    Aucune donnée trouvée
    L'autre page affiche, avec l'URL (:

    Gestion des experts
    L'attribut est absent
    Pourtant, j'ai vérifié, la base est bien remplie. Je devrais avoir des données.

    Voici les fichiers jsp:

    AnalystForm.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
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
    <html>
      <head>
        <title>Gestion des experts</title>
      </head>
     
      <body>
        <%@ page import="java.util.*, vo.*" %>
        <h1>Gestion des experts</h1>
        <form action="/Ch11/StockListServletApp/web/ProcessAnalyst.jsp" method="POST">
          <table>
          <%
            ArrayList anlysts = (ArrayList)request.getAttribute("data");
            if (anlysts == null) {
          %>
            <h2> L'attribut est absent </h2>
          <%
            } else {
              for (int i = 0; i < anlysts.size(); i++) {
                AnalystVo analystData = (AnalystVo) anlysts.get(i);
          %>
            <tr>
              <td>
                <input type="checkbox" name="checkbox" value="<%= analystData.getName() %>"
              </td>
              <td>
                <%= analystData.getName() %>
              </td>
            </tr>
          <%
              }
            }
          %>
          </table>
          <input type="submit" value="Supprimer Selected" name="delete">
          <p>
          <input type="text" size="40" name="addname">
          <input type="submit" value="Ajouter un expert" name="add">
        </form>
        <hr>
      </body>
    </html>
    RatingsForm.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
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
    <html>
      <head>
        <title>Classement des actions</title>
      </head>
     
      <body>
        <h1>Classement des actions</h1>
     
      <%@ page import="java.util.*, vo.*" %>
    <%
        ArrayList stocks = (ArrayList) request.getAttribute("data");
        if (stocks != null && stocks.size() > 0) {
    %>
        <form action="/Ch11/StockListServletApp/web/AddRating" method="post">
        <table border="1">
      <tr>
        <th>Symbole</th>
        <th>Expert</th>
        <th>Appréciation</th>
      </tr>
    <%
          for (int i = 0; i < stocks.size(); i++) {
            StockVo stockInfo = (StockVo) stocks.get(i);
            String ticker = stockInfo.getTickerSymbol();
            String analyst = stockInfo.getAnalyst().getName();
            String rating = stockInfo.getRating();
    %>
        <tr>
          <td><%= ticker %></td>
          <td><%= analyst %></td>
          <td><%= rating %></td>
        </tr>
    <%
          }
    %>
        </table>
        <table>
          <tr>
      <td>
        <select name="analysts">
    <%
        ArrayList analysts = (ArrayList) request.getAttribute("analysts");
        for (int i = 0; i < analysts.size(); i++) {
          AnalystVo analyst = (AnalystVo) analysts.get(i);
    %>
          <option value="<%= analyst.getAnalystId() %>">
                  <%= analyst.getName() %>
    <%
        }
    %>
        </select>
      </td>
      <td>
        <select name="stocks">
    <%
        ArrayList unratedStocks =
            (ArrayList) request.getAttribute("unrated");
        for (int i = 0; i < unratedStocks.size(); i++) {
          StockVo stock = (StockVo) unratedStocks.get(i);
    %>
          <option value="<%= stock.getTickerSymbol() %>">
                  <%= stock.getTickerSymbol() %>
    <%
        }
    %>
              </select>
      </td>
      <td>
        <select name="ratings">
          <option value="A fuir !">A fuir !
          <option value="Pourrait être pire !">Pourrait être pire !
          <option value="Moyen">Moyen
          <option value="A tenter !">A tenter !
          <option value="Incontournable !">Incontournable !
        </select>
      </td>
          </tr>
          <tr>
      <td>
        <input type="submit" value="Ajouter une appréciation">
      </td>
          </tr>
        </table>
        </form>
    <%
        } else {
    %>
        Aucune donnée trouvée
    <%
        }
    %>
        <hr>
      </body>
    </html>
    Voici les fichiers .java:

    StockListServlet.java

    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
    package web;
     
    import javax.servlet.*;
    import javax.servlet.http.*;
    import java.io.*;
    import java.util.*;
    import facade.*;
     
    public class StockListServlet extends HttpServlet {
      public void doPost(HttpServletRequest request,
             HttpServletResponse response)
      {
        doGet(request, response);
      }
     
      public void doGet(HttpServletRequest request,
            HttpServletResponse response)
      {
        try {
            ArrayList data = null;
            RequestDispatcher dispatcher;
            ServletContext context = getServletContext();
            StockListFacade facade = StockListFacade.getFacade();
            String name = request.getPathInfo();
            name = name.substring(1);
            System.out.println("name="+name);
            if ("AnalystForm".equals(name)) {
          data = facade.getAllAnalysts();
          request.setAttribute("data", data);
            } else if ("RatingsForm".equals(name)) {
          data = facade.getStockRatings();
          request.setAttribute("data", data);
          request.setAttribute("analysts", facade.getAllAnalysts());
          request.setAttribute("unrated", facade.getUnratedStocks());
            } else if ("AddRating".equals(name)) {
          // rien à faire, juste faire suivre la requête
            } else {
          name = "Error";
            }  
     
            dispatcher = context.getNamedDispatcher(name);
            if (dispatcher == null) {
          dispatcher = context.getNamedDispatcher("Error");
            }      
            dispatcher.forward(request, response);
        } catch (Exception e) {
            e.printStackTrace();
        }
      }
    }
    AddRating.java

    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
    package web;
     
    import javax.servlet.*;
    import javax.servlet.http.*;
    import facade.*;
    import vo.*;
     
    public class AddRating extends HttpServlet {
      public void doPost(HttpServletRequest request,
             HttpServletResponse response)
      {
        try {
          String analyst = request.getParameter("analysts");
          Integer id = new Integer(analyst);
          String ticker = request.getParameter("stocks");
          String rating = request.getParameter("ratings");
     
          StockVo stockVo = new StockVo(ticker, null, rating);
          stockVo.setAnalyst(new AnalystVo(id, null));
          StockListFacade facade = StockListFacade.getFacade();
          facade.addStockRating(stockVo);
     
          request.setAttribute("data", facade.getStockRatings());
          request.setAttribute("analysts", facade.getAllAnalysts());
          request.setAttribute("unrated", facade.getUnratedStocks());
     
          ServletContext context = getServletContext();
          RequestDispatcher dispatcher = 
          context.getNamedDispatcher("RatingsForm");
          dispatcher.forward(request, response);
        } catch (Exception e) {
     
        }
      }
    }

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. erreur a la compilation ,package does not existe
    Par 304bl dans le forum Général Java
    Réponses: 3
    Dernier message: 12/07/2011, 10h41
  2. probleme "package does not exist"
    Par fangriz dans le forum Général Java
    Réponses: 10
    Dernier message: 29/07/2009, 16h30
  3. package does not exist avec jdk1.6
    Par ysahel dans le forum Langage
    Réponses: 3
    Dernier message: 19/05/2009, 17h27
  4. Javac et packages does not exist
    Par walten dans le forum Débuter avec Java
    Réponses: 3
    Dernier message: 28/05/2008, 18h17
  5. jogl - package does not exist
    Par laurent_ifips dans le forum 3D
    Réponses: 6
    Dernier message: 14/04/2006, 22h59

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