Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
2741 connectés 

  FORUM HardWare.fr
  Programmation
  Java

  Probleme de SERVLET

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Probleme de SERVLET

n°1516519
DEns91
Posté le 19-02-2007 à 16:55:13  profilanswer
 

Salut,
 
Voila j'ai un ptit soucis, je créer un servlet qui dois ètre appelé par differente application. Donc je voudrais que chaque application appel la mème classe avec un nom de servlet different, afin que chaque site est sa propre config. Donc je me suis dis que je pourrais peux ètre faire ça avec le fichier web.xml de mon  context : pour cela dans ce fichier j'ai creer le fichier suivant :  
 
 
 

Code :
  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <web-app>
  3. <display-name>pay_name</display-name>
  4. <servlet>
  5.  <description>une description</description>
  6.  <display-name>servlet1</display-name>
  7.  <servlet-name>servlet1</servlet-name>
  8.  <servlet-class>servlet_class</servlet-class>
  9.  <init-param>
  10.   <param-name>param1</param-name>
  11.   <param-value>value2</param-value>
  12.  </init-param>
  13.  <init-param>
  14.   <param-name>param2</param-name>
  15.   <param-value>value2</param-value>
  16.  </init-param>
  17. </servlet>
  18. <servlet>
  19.  <description></description>
  20.  <display-name>servlet2</display-name>
  21.  <servlet-name>servlet2</servlet-name>
  22.  <servlet-class>servlet_class</servlet-class>
  23.  <init-param>
  24.   <param-name>param1</param-name>
  25.   <param-value>value3</param-value>
  26.  </init-param>
  27.  <init-param>
  28.   <param-name>param2</param-name>
  29.   <param-value>value3</param-value>
  30.  </init-param>
  31. </servlet>
  32. <servlet-mapping>
  33.  <servlet-name>servlet1</servlet-name>
  34.  <url-pattern>/servlet_class</url-pattern>
  35. </servlet-mapping>
  36. <servlet-mapping>
  37.  <servlet-name>servlet2</servlet-name>
  38.  <url-pattern>/servlet_class</url-pattern>
  39. </servlet-mapping>
  40. <welcome-file-list>
  41.  <welcome-file>index.html</welcome-file>
  42. </welcome-file-list>
  43. </web-app>


 
Donc appli 1 appel  : https://host:port/pay_name/servlet1
Donc appli 2 appel  : https://host:port/pay_name/servlet2
 
Mon probleme c'est que quand j'appelle le servlet2 ben j'ai une erreur 404 :
 
Etat HTTP 404 -  /pay_name/servlet2
type Rapport d'état
message /pay_name/servlet2
description La ressource demandée (/pay_name/servlet2) n'est pas disponible.
 
 
J'espère que j'ai ecris clairement.
Merci de votre aide.


Message édité par DEns91 le 19-02-2007 à 16:57:41
mood
Publicité
Posté le 19-02-2007 à 16:55:13  profilanswer
 

n°1517010
Bidem
Posté le 20-02-2007 à 14:29:22  profilanswer
 

Tes url-patern ne sont pas bons
 

Code :
  1. <servlet-mapping>
  2.   <servlet-name>servlet1</servlet-name>
  3.   <url-pattern>/servlet1</url-pattern>
  4. </servlet-mapping>
  5. <servlet-mapping>
  6.   <servlet-name>servlet2</servlet-name>
  7.   <url-pattern>/servlet2</url-pattern>
  8. </servlet-mapping>

n°1518118
sasa35
Posté le 22-02-2007 à 09:49:35  profilanswer
 

Bonjour,  
ça fait deux jours que je cherche une solution à ce genre de problème,
je le même message d'erreur  
voici le code de ma servlet :
---------- DBTest.java------------------
package pac;
 
import java.io.*;
import java.sql.*;
import javax.naming.*;
import javax.servlet.*;
import javax.servlet.http.*;
import javax.sql.*;
 
public class DBTest extends HttpServlet {
 
 private DataSource ds; //la source de données
 Connection con=null;
  Statement s=null;
  ResultSet rs=null;
 
 protected void doGet(HttpServletRequest request,HttpServletResponse response)throws ServletException, IOException {
  response.setContentType("text/html" );
  PrintWriter out = response.getWriter();
  out.println("<html><head></head>" );
  out.println("<body>" );
   
  try {    
   //récupération de la source de donnée
 
   Context initCtx = new InitialContext();
   Context envCtx=(Context)initCtx.lookup("java:comp/env" );
   ds = (DataSource) envCtx.lookup("java:comp/env/jdbc/TestDB" );
   
   //récupération de la Connection depuis le DataSource
 
   con = ds.getConnection();
   s = con.createStatement();
   rs = s.executeQuery("SELECT * FROM identifiant" );
   while (rs.next()) {
    out.println(rs.getString(1) + "      " );
    out.println(rs.getString(2) + "<br/>" );
    out.println(rs.getString(3) + "<br>" );
   }
  } catch (SQLException e) {
   response.sendError(500, "Ô Exception sur l'accès à la BDD " + e);
  }catch (Exception e) {
   throw new UnavailableException(e.getMessage());
  }finally {
   if (rs != null)
   {
    try {
     rs.close();
    } catch (SQLException e) {}
    rs = null;
   }
   if (s != null) {
    try {
     s.close();
    } catch (SQLException e) {}
    s = null;
   }
   if (con != null) {
    try {
     con.close();
    } catch (SQLException e) {}
    con = null;
   }
  }
  out.println("</body>" );
  out.println("</html>" );
  out.close();
 }
 
   
}
 
le code de server.xml:
--------------server.xml--------------------
<Context path="/test"   docBase="test"  debug="5" reloadable="true" crossContext="true">
 
 <Resource  
  name="jdbc/TestDB"  
  auth="Container"  
  type="javax.sql.DataSource"  
  factory="org.apache.commons.dbcp.BasicDataSourceFactory"  
  driverClassName="com.mysql.jdbc.Driver"  
  url="jdbc:mysql://localhost:3306/Elipse?autoReconnect=true"
  username="nom"  
  password="motdepasse"/>  
</Context>
 
et le fichier web.xml:
------------web.xml-----------------------
<?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">  
<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>TestTomcat</display-name>  
 <servlet>  
  <servlet-name>DBTest</servlet-name>  
  <servlet-class>pac.DBTest</servlet-class>  
 </servlet>
 <servlet>  
  <servlet-name>Oups</servlet-name>  
  <servlet-class>TestServlet</servlet-class>  
 </servlet>  
 <servlet>  
  <servlet-name>servlet2</servlet-name>  
  <servlet-class>servletTraitement</servlet-class>  
 </servlet>  
 <servlet-mapping>  
  <servlet-name>DBTest</servlet-name>  
  <url-pattern>/DBTest</url-pattern>  
 </servlet-mapping>
 <servlet-mapping>  
  <servlet-name>Oups</servlet-name>  
  <url-pattern>/Oups</url-pattern>  
 </servlet-mapping>  
 <servlet-mapping>  
  <servlet-name>servlet2</servlet-name>  
  <url-pattern>/servlet2</url-pattern>  
 </servlet-mapping>  
<Resource-ref>
  <description>reference a la ressource BDD pour le pool</description>
  <res-ref-name>jdbc/TestDB</res-ref-name>
  <res-type>javax.sql.DataSource</res-type>
  <res-auth>Container</res-auth>
</Resource-ref>    
</web-app>
 
sachant que j'ai crée le rep meta-inf sous la racine et mis le fichier context.xml dedans puis le mettre sous le rep conf et j'ai toujours le même problème;
 
j'attend votre aide merci d'avance.

n°1518479
DEns91
Posté le 22-02-2007 à 16:58:48  profilanswer
 

Bidem a écrit :

Tes url-patern ne sont pas bons
 

Code :
  1. <servlet-mapping>
  2.   <servlet-name>servlet1</servlet-name>
  3.   <url-pattern>/servlet1</url-pattern>
  4. </servlet-mapping>
  5. <servlet-mapping>
  6.   <servlet-name>servlet2</servlet-name>
  7.   <url-pattern>/servlet2</url-pattern>
  8. </servlet-mapping>



 
Merci pour ta reponse, mais apparament c'est pas ca. ca ne fonctionne toujours pas. Vu que j'avais très peu de temps j'ai régler mon probleme en passant les valeurs en pramètre.  
Dès que j'ai 5 minutes je me repenche sur ce probleme.

n°1518481
_darkalt3_
Proctopathe
Posté le 22-02-2007 à 17:04:46  profilanswer
 

C'est parce que tu n'utilises pas les bonnes servlets...

Spoiler :

http://media.houra.fr/ART-IMG-STD/02/23/4015400122302-2.jpg


...hygiéniques


Message édité par _darkalt3_ le 22-02-2007 à 17:05:22

---------------
Töp of the plöp
n°1521425
sasa35
Posté le 28-02-2007 à 10:35:50  profilanswer
 

si, j'utilise les bonnes, et la preuve quand je vide la servlet DBTest et je ne laise q'un simple affichage comme out.println("bonjour" );
ça passe contrairement à l'origine.

n°1522413
Bidem
Posté le 01-03-2007 à 16:58:34  profilanswer
 

Citation :

package pac;
...
public class DBTest extends HttpServlet {
...


 

Citation :

<servlet>  
  <servlet-name>Oups</servlet-name>  
  <servlet-class>pac.TestServlet</servlet-class>  
 </servlet>



Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  Java

  Probleme de SERVLET

 

Sujets relatifs
Problème d'appel à une servlet avec HREF et chemin relatifproblème requête client vers servlet
Problème Servlet Eclipse[JSP/SERVLET] Problème avec les jsp:getProperty
[Applet][Servlet][Importation] problème d'importation de packageProbleme de forward dans une servlet
[Problème] Passage servlet -> JSP, et mappage web.xmlProbleme de retour d'un servlet vers un jsp
[ JAVA ] probleme avec un servlet dans tomcat[Jsp/Servlet] Problème lors du premier forward depuis ma servlet
Plus de sujets relatifs à : Probleme de SERVLET


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR