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 habitué Avatar de mumu27
    Profil pro
    Développeur informatique
    Inscrit en
    Mars 2009
    Messages
    213
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France, Eure (Haute Normandie)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mars 2009
    Messages : 213
    Points : 128
    Points
    128
    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 sénior
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 481
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Belgique

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

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 481
    Points : 48 806
    Points
    48 806
    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 habitué Avatar de mumu27
    Profil pro
    Développeur informatique
    Inscrit en
    Mars 2009
    Messages
    213
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France, Eure (Haute Normandie)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mars 2009
    Messages : 213
    Points : 128
    Points
    128
    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 sénior
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 481
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Belgique

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

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 481
    Points : 48 806
    Points
    48 806
    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 311
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 7 311
    Points : 9 524
    Points
    9 524
    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 habitué Avatar de mumu27
    Profil pro
    Développeur informatique
    Inscrit en
    Mars 2009
    Messages
    213
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France, Eure (Haute Normandie)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mars 2009
    Messages : 213
    Points : 128
    Points
    128
    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 sénior
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 481
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Belgique

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

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 481
    Points : 48 806
    Points
    48 806
    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 habitué Avatar de mumu27
    Profil pro
    Développeur informatique
    Inscrit en
    Mars 2009
    Messages
    213
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France, Eure (Haute Normandie)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mars 2009
    Messages : 213
    Points : 128
    Points
    128
    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