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

 


 Mot :   Pseudo :  
 
 Page :   1  2  3  4
Auteur Sujet :

JSP/Servlet

n°110905
darklord
You're welcome
Posté le 12-03-2002 à 11:44:48  profilanswer
 

Reprise du message précédent :
indeed, un param de contexte. Coolos. Mais alors la servlet ne sert à rien du tout pendant l'exécution de ton prog. Donc finalement hérite là de BrouteMoiLeMouServlet si tu veux ... Ca ne changera rien du tout!
 
Pour ce qui est des customs tags, il faut te renseigner un minimum. C'est qqch que je trouve assez compliqué perso mais je ne me suis pas étendu sur le sujet. En gros tu crées des étiquettes perso. Lorsque l'interpréteur voit ces étiquettes il appelle une méthde que tu as fait et qui hérite d'une classe (voir javax. ...) dont je ne me souviens plus
 
Sinon, une bonne adresse c'est http://java.sun.com/j2ee/tutorial/ [...] PTags.html


---------------
Just because you feel good does not make you right
mood
Publicité
Posté le 12-03-2002 à 11:44:48  profilanswer
 

n°111113
Nestor
Posté le 12-03-2002 à 16:34:18  profilanswer
 

on est reparti pour les questions (ouais ouais je sais, je pousse le bouchon un peu trop loin) :
A propos des Bean :
peut-on les faire dériver d'une classe (style GenericServlet) ?
 
Je dis ça parce que j'ai repompé un bean sur le net et je l'ai adpaté à ma sauce. La classe compile. Mais l'appel du bean dans ma page jsp merde. Forcément avec mes connaissances limitées, je ne pige pas trop d'où vient le pb...
 
Voici mon bean :
 
import javax.servlet.*;
import java.io.*;
import java.text.*;
import java.util.*;
import java.sql.*;
import javax.sql.*;
import oracle.jdbc.driver.*;
import oracle.jdbc.pool.*;
 
public class DBconnection extends GenericServlet
{
 PooledConnection pc = null;
 Connection db = null;
 Statement stmt = null;
 ResultSet result = null;
 
  public DBconnection()  
  {
  }
 
  public void service(ServletRequest req, ServletResponse res) throws ServletException, IOException
  {  
 
  }
 
  public void connect() throws Exception  
  {
    try  
 {
      pc = (PooledConnection)getServletContext().getAttribute("sourceOracle" );
   db = pc.getConnection();
    }
      catch (Exception e) {e.printStackTrace();}
  }
 
  public ResultSet getResults(String sproc) throws Exception  
  {
    stmt = db.createStatement();
    result = stmt.executeQuery(sproc);
    return result;
  }
 
 public String recup(String col,ResultSet rs)
  {
    String error = "";
    String ret = "";
    try {ret  = rs.getString(col) ;}
    catch (SQLException e) {error = e.toString();}
    if (!error.equals("" ))
      ret = "Erreur SQL : " + error ;
    return ret ;
  }
 
  public void execute(String sproc) throws Exception  
  {
    stmt = db.createStatement();
    stmt.execute(sproc);
  }
 
  public void close() throws Exception  
  {
    result.close();
    result = null;
    stmt.close();
    stmt = null;
    db.close();
    db = null;
 pc.close();
 pc = null;
  }
}

 
 
et le début de ma page jsp :
 
<%@ page language="java" contentType="text/html" %>
<%@ page import="java.sql.*" %>
<%@ page import="javax.sql.*" %>
<%@ page import="oracle.jdbc.driver.*" %>
<%@ page import="oracle.jdbc.pool.*" %>
 
<jsp:useBean
 id="db"
 scope="page"
 class="DBconnection"
 type="DBconnection" />
<%
  db.connect() ;
  String req = "SELECT * FROM utilisateur" ;
  ResultSet RS = db.getResults(req) ;
  if (RS != null)
    {
      %>
      <TABLE BORDER="0">
      <%
        while (RS.next())
          {
            String id  = db.recup("id_utilisateur",RS) ;
            String txt = db.recup("nom_utilisateur",RS) ;
            %>

 
Mon erreur :
Generated servlet error:
/opt/jakarta-tomcat-4.0.3/work/localhost/JspPack/LoginServer$jsp.java:80: Class org.apache.jsp.DBconnection not found.
                DBconnection db = null;

n°111114
darklord
You're welcome
Posté le 12-03-2002 à 16:35:32  profilanswer
 

ah tu dérives un bean d'une servlet toi? De mieux en mieux. Va lire un tutorial sur les Beans. Tu mélanges tout ...


---------------
Just because you feel good does not make you right
n°111120
Nestor
Posté le 12-03-2002 à 16:44:27  profilanswer
 

ok no problemo, je fais comme tu veux moi.
 
D'accord, je ne le dérive pas. Dans mon bean, il faut que je puisse récupérer le PooledConnection qui est un attribut de ServletContext : comment je fais ?

n°111132
darklord
You're welcome
Posté le 12-03-2002 à 16:56:14  profilanswer
 

Nestor a écrit a écrit :

ok no problemo, je fais comme tu veux moi.




 
Bin c'est pas vraiment comme je veux. C'est pas comme ca qu'il faut faire c'est tout. Un bean n'a rien à voir avec une servlet.


---------------
Just because you feel good does not make you right
n°111137
Nestor
Posté le 12-03-2002 à 17:01:08  profilanswer
 

oui oui je te crois (je plaisante quand je dis que je fais comme tu veux) mais réponds moi stp : comment je fais pour que mon bean puisse récupérer mon PooledConnection de ServletContext ?

n°111374
benou
Posté le 12-03-2002 à 23:02:34  profilanswer
 

ben il faut que tu lui donnes ...
 
tonBean.setPooledConnection(tonPool);
 
tu peux faire ca avec un tag tout fait (setAttribute si je me souviens bien)
 
tu as jetté un coup d'oeil au tutorial de sun sur les jsp ? ils parlent de l'utilisation des beans dans du jsp. (comme n'importe quel tutorial sur les jsp d'ailleur)


---------------
ma vie, mon oeuvre - HomePlayer
n°111413
Nestor
Posté le 13-03-2002 à 08:51:58  profilanswer
 

oui, je pensais à cette solution mais ce qui est chiant, c'est que dans chaque page où je vais appeler le Bean, il va falloir passer le nom de monPool.  
Ce qui fait que niveau évolutivité, c'est pas top. Alors que si c'est mon Bean qui récupére monPool tout seul, monPool n'apparaît qu'une fois.
Or si je ne dérive pas mon bean de GenericServlet (ce qui est une erreur comme je l'ai compris), je n'arrive pas à choper le ServeltContext. D'où ma question : comment je fais pour récupérer mon attribut PoolConnection de ServletContext dans mon Bean SANS passer par un setProperty(monPool) ?

n°111432
Nestor
Posté le 13-03-2002 à 09:38:47  profilanswer
 

au fait, il faut le mettre où le bean pour qu'il soit accessible par une page .jsp ?
Faut-il le déclarer dans le fichier web.xml ?

n°111440
darklord
You're welcome
Posté le 13-03-2002 à 10:02:53  profilanswer
 

Nestor a écrit a écrit :

au fait, il faut le mettre où le bean pour qu'il soit accessible par une page .jsp ?
Faut-il le déclarer dans le fichier web.xml ?  




 
Non si le .class est dans un jar file il te suffit de mettre le jar file dans le répertoire lib de ta webapps. Si c'est un class séparé il faut le mettre (en respecant la structure du package) dans webapps/tonapp/WEB-INF/classes/
 
A+


---------------
Just because you feel good does not make you right
mood
Publicité
Posté le 13-03-2002 à 10:02:53  profilanswer
 

n°111449
scaldan
...
Posté le 13-03-2002 à 10:09:07  profilanswer
 

Bonjour,
 
votre sujet m'a interessé. Alors j'installe Tomcat et je me lance  
à l'aventure :sweat:. Mais la je vois des servlets (bon j'ai compris que cela sert à recuperer des infos niveau serveur), des jsp (bon cela sert à faire de jolies pages de presentations avec HTML et à passer les infos aux servlets) mais aprés je vois les cookies, les forms data, les HTTP reponses, et les sessions tracking, beans (et encore plein de truc). Une question simple, je commence par quoi ????
 
Vous allez me dire mais pour faire quoi ? et bien juste par exemple une petite appli simple pour un site sur le commerce en ligne. Alors de quelle manière prendre le problème pour y aller progressivement. Je trouve sans pb la doc en ligne et il ne faut pas se noyer mais juste commencer par apprendre à nager. Merci  
 
:hello:

n°111451
darklord
You're welcome
Posté le 13-03-2002 à 10:10:13  profilanswer
 

là j'ai pas le temps mais si personne t'a répondu je le fais t'aleur promis :)
 
A+


---------------
Just because you feel good does not make you right
n°111453
scaldan
...
Posté le 13-03-2002 à 10:12:28  profilanswer
 

merci DarkLord (et les autres)
 
:jap:

n°111454
scaldan
...
Posté le 13-03-2002 à 10:13:47  profilanswer
 

si cela peut aussi aider d'autres personnes j'ai trouvé ceuci
 
http://pdf.coreservlets.com/

n°111486
darklord
You're welcome
Posté le 13-03-2002 à 11:01:26  profilanswer
 

Citation :


Mais la je vois des servlets (bon j'ai compris que cela sert à recuperer des infos niveau serveur), des jsp (bon cela sert à faire de jolies pages de presentations avec HTML et à passer les infos aux servlets) mais aprés je vois les cookies, les forms data, les HTTP reponses, et les sessions tracking, beans (et encore plein de truc). Une question simple, je commence par quoi ????


 
Ce que tu dis là est très juste. Je peux te confier que des gens qui font des servlet depuis des mois n'ont pas encore compris qu'une page JSP est utilisée pour l'affichage et l'interaction avec l'utilisateur et c'est tout. Donc bravo, enfin qqun qui lit la doc avant de se lancer (vais encore me faire frapper mais je m'en fous j'aime ca :D)
 
Session tracking et cookies tu peux les associer si le but est de maintenir un identifiant avec l'user. Dans ton cas, il devrait avoir un objet "Caddie" contenant ce qu'il a acheté. Regarde la classe HttpSession (javax.servlet.http). En gros tu crée une session avec le user et tu peux lui attacher des objets (donc un caddie par exemple, lequel caddie peut etre récupéré dans la page JSP pour afficher son contenu).
 
Forms Data et HTTP response tu peux un peu laisser de cote pour l'instant. En gros, tu aurais sur tes pages JSP la possibilité d'atteindre une servlet en spécifiant quel item tu désires commander et en quelle quantité. La servlet regarde si une sesion existe et si oui attache l'item au caddie. Sinon elle crée le caddie et attache l'item.
 
Bean bin c'est ton caddie justement. C'est un objet java très simple qui définit des propriétés et des méthodes. Ton caddie pourrait avoir une méthode addItem(String itemID) etc ...
 
 

Citation :


Vous allez me dire mais pour faire quoi ? et bien juste par exemple une petite appli simple pour un site sur le commerce en ligne. Alors de quelle manière prendre le problème pour y aller progressivement. Je trouve sans pb la doc en ligne et il ne faut pas se noyer mais juste commencer par apprendre à nager. Merci  
 
:hello:  


 
Commence par bien comprendre le mécanisme JSP/Servlet. Ensuite tu peux voir plus en détails le session tracking et les beans. Mais n'hésite pas à lire plusieurs fois la meme chose (donc plusieurs tutoriaux sur le meme sujet provenant de différents site). Lire la meme chose écrite de façon différente te permettra de t'en sortir bpc mieux.
 
 
 :hello:


---------------
Just because you feel good does not make you right
n°111494
Nestor
Posté le 13-03-2002 à 11:07:44  profilanswer
 

bon, je n'ai pas de package dans mon bean. Y en faut-il absolument un ?
 
ensuite mon bean s'appelle DBconnection. Lorsque j'essaye de le charger depuis une page JSP, il cherche org.apache.jsp.DBconnection et forcément, il ne le trouve pas. Pourquoi il ne cherche pas ma classe DBconnection tout simplement ?
 
si je créé une arborescence : WEB-INF/classes/org/apache/jsp/DBconnection, il me semble qu'il trouve ma classe mais il me dit que le type attendu n'est pas le bon.

n°111495
scaldan
...
Posté le 13-03-2002 à 11:08:49  profilanswer
 

merci bcp DarkLord, tes explications sont limpides. Je vais tranquillement prendre cela à la base.
 
:jap:

n°111501
darklord
You're welcome
Posté le 13-03-2002 à 11:25:32  profilanswer
 

Nestor a écrit a écrit :

bon, je n'ai pas de package dans mon bean. Y en faut-il absolument un ?




 
oui et tu dois importer ton package dans ta page JSP. De toutes façons c'est débile de faire un projet, si petit fut ce t'il sans créer de package.
 
A+

 

[jfdsdjhfuetppo]--Message édité par DarkLord--[/jfdsdjhfuetppo]


---------------
Just because you feel good does not make you right
n°111502
darklord
You're welcome
Posté le 13-03-2002 à 11:25:46  profilanswer
 

scaldan a écrit a écrit :

merci bcp DarkLord, tes explications sont limpides. Je vais tranquillement prendre cela à la base.
 
:jap:  




 
you're welcome  :hello:


---------------
Just because you feel good does not make you right
n°111504
Nestor
Posté le 13-03-2002 à 11:30:02  profilanswer
 

euh, comment je le fais mon package ?
Qu'est-ce que je mets dedans ?
 
juste une remarque : j'aimerais bien avoir, moi aussi, le temps de prendre le temps de lire la doc et tout et tout, j'aimerais bien...

n°111506
darklord
You're welcome
Posté le 13-03-2002 à 11:35:20  profilanswer
 

Nestor a écrit a écrit :

euh, comment je le fais mon package ?
Qu'est-ce que je mets dedans ?
 
juste une remarque : j'aimerais bien avoir, moi aussi, le temps de prendre le temps de lire la doc et tout et tout, j'aimerais bien...  




 
Si tu avais pris 4h pour le faire tu aurais économisé 3 jours à ce que je vois ...
 
Si tu sais meme pas faire un package tu es loin !!!
 
Tu crée un répertoire dans WEB-INF/classes (par exemple nestor)
 
et tu mets dans ton bean  
 
package nestor;
 
et tu fous le .class dans ce répertoire
 
ensuite dans ta jsp tu importe ton package (import nestor;)
 
et roulaize.


---------------
Just because you feel good does not make you right
n°111510
Nestor
Posté le 13-03-2002 à 11:58:40  profilanswer
 

yes, une nouvelle fois un grand merci : ça roule, il me trouve ce bean cette fois-ci.
 
Sauf que j'ai une erreur : bad magic number...

n°111650
Nestor
Posté le 13-03-2002 à 16:43:12  profilanswer
 

mon bean marche (oui je sais, c'est dingue).
Seulement je suis obligé de lui passer en paramètre le Pool de connexions récupéré au préablable par la page en JSP (technique décrite par Benou plus haut).  
 
...mais j'aimerais bien que mon bean arrive à récupérer tout seul ce Pool !
Pour le récupérer dans la page en jsp, je fais :
(PooledConnection)getServletContext().getAttribute("sourceOracle" ).
ça marche pour la page mais si je mets ça dans mon bean, il me ramène un pointeur null.  
J'ai tenté l'ajout de "this." devant getServletContext ou encore getServletConfig().getServletContext().getAttribute("sourceOracle" ) mais rien n'y fait.  
 
Est-ce possible ou non de récupérer ce truc depuis mon bean ?  
Si oui, comment faire ?
 
Merci.

n°111663
darklord
You're welcome
Posté le 13-03-2002 à 17:11:31  profilanswer
 

Réfléchis 5 sec
 
 
Tu fais getServletcontext ... pour récupérer ton pool. Ton bean fait il partie du contexte ?
 
Réponse non
 
et c'est la méme réponse à ta quesiton
 
 :hello:


---------------
Just because you feel good does not make you right
n°111668
Nestor
Posté le 13-03-2002 à 17:21:28  profilanswer
 

ben c'est ce que j'avais fini par en conclure mais je voulais être sur et avoir un avis d'expert !
 
Merci.

n°111819
benou
Posté le 14-03-2002 à 00:08:55  profilanswer
 

si ce qui te gêne c'est de passer le pool au bean dans chaque page JSP, pkoi tu fais un import ???
Tu fais une servlet qui met ton bean dans la session et qui lui associe le pool de connexion. Ensuite tu  n'as plus qu'à récupérer ton objet dans la session. (et éventuellement à le virer à la fin de ta page si il te gêne).


---------------
ma vie, mon oeuvre - HomePlayer
n°111846
Nestor
Posté le 14-03-2002 à 08:32:13  profilanswer
 

oui, ce serait certainement une solution. Sauf que mon manque de connaissances en la matière fait que je ne sais pas comment faire ça !
Bon, de toutes façons aujourd'hui j'ai prévu de regarder comment stocker des infos dans la session d'un gus connecté.  
 
A plus pour de nouvelles galères !

n°112047
benou
Posté le 14-03-2002 à 14:30:58  profilanswer
 

Nestor a écrit a écrit :

oui, ce serait certainement une solution. Sauf que mon manque de connaissances en la matière fait que je ne sais pas comment faire ça !
Bon, de toutes façons aujourd'hui j'ai prévu de regarder comment stocker des infos dans la session d'un gus connecté.  
 
A plus pour de nouvelles galères !  




tu ferais vraiment bien de lire un tutorial complet !!!!

n°112070
scaldan
...
Posté le 14-03-2002 à 15:14:00  profilanswer
 

ce topic est une mine d'infos pour moi alors je fais un UP
 
:benetton:

n°112228
Gonzoide
Les cochons... dans l'espâââce
Posté le 14-03-2002 à 18:23:07  profilanswer
 

DarkLord : juste pour info, t'utilises un application server ? lequel ?

n°112239
darklord
You're welcome
Posté le 14-03-2002 à 18:55:10  profilanswer
 

euh actuellement je ne fais plus de développement jsp/servlet. Mais sinon j'utilises Tomcat, Jrun ou WAS (Websphere Application Server).
 
Pq tu as une question?


---------------
Just because you feel good does not make you right
n°112373
Gonzoide
Les cochons... dans l'espâââce
Posté le 14-03-2002 à 23:23:10  profilanswer
 

Non, c'etait juste pour savoir ... comme y'a beaucoup de monde qui fait du Java mais peu qui utilisent des serveurs d'application, je m'interesse a la question. Moi je bosse sur WebLogic.

n°112376
benou
Posté le 14-03-2002 à 23:25:56  profilanswer
 

j'ai un peu manipuler weblo.
ca m'a l'air d'être une grosse brouette diffcile à maneuvrer, et qui casse à la moindre mauvaise config, et sans te filler de message d'erreur compréhensible


---------------
ma vie, mon oeuvre - HomePlayer
n°112400
darklord
You're welcome
Posté le 15-03-2002 à 08:59:43  profilanswer
 

benou a écrit a écrit :

j'ai un peu manipuler weblo.
ca m'a l'air d'être une grosse brouette diffcile à maneuvrer, et qui casse à la moindre mauvaise config, et sans te filler de message d'erreur compréhensible  




 
La palme de ce genre de conneries revient a WAS. Ca lui arrive de faire un 500 sur toutes mes invocations sans aucune explication au niveau administration  :cry:  
 
Je m'en fous je l'utilise plus :D


---------------
Just because you feel good does not make you right
n°112579
Nestor
Posté le 15-03-2002 à 14:54:17  profilanswer
 

appel à l'aide du jour.  
 
Pourquoi ça marche pas ça dans une page en jsp :
 
ArrayList image = new ArrayList();
String a=new String("images/second.gif" );
 
image.add(a); // marche pô
image.add((Object)(new String ("images/second.gif" ))); //marche pô non plus.  
 
Message d'erreur renvoyé : Type expected ou identifier expected
 
précision : il y ça en haut de ma page :
<%@ page import="java.util.*" %>

 

[jfdsdjhfuetppo]--Message édité par Nestor--[/jfdsdjhfuetppo]

n°112607
Gonzoide
Les cochons... dans l'espâââce
Posté le 15-03-2002 à 16:12:40  profilanswer
 

benou a écrit a écrit :

j'ai un peu manipuler weblo.
ca m'a l'air d'être une grosse brouette diffcile à maneuvrer, et qui casse à la moindre mauvaise config, et sans te filler de message d'erreur compréhensible  




 
Ben pour l'instant ca va, pourtant on le torture pas mal avec l'application sur laquelle je bosse. C'est vrai que la config est pas triviale quand tu l'utilises a fond, mais je ne sais pas si c'est plus simple pou d'autres serveurs d'application.

n°112628
scaldan
...
Posté le 15-03-2002 à 17:02:12  profilanswer
 

et me voilou encore avec mon UP


---------------
Si tu ne poses pas les bonnes questions, comment veux-tu avoir les bonnes réponses ?
n°112682
Nestor
Posté le 15-03-2002 à 19:45:39  profilanswer
 

alors un up aussi avec une question :
j'ai fait un bean qui stocke les infos sur le user connecté.
ce bean à le scope="session".
 
Ma question est la suivante :  
 
pour récupérer les infos stockés dans le bean, est-on obligé de faire un <jsp:usebean id="truc" class="machine" scope="session"/> dans chaque page ?
 
si non, comment fait-on ? (import ?)

n°112683
darklord
You're welcome
Posté le 15-03-2002 à 19:50:57  profilanswer
 

Nestor a écrit a écrit :

pour récupérer les infos stockés dans le bean, est-on obligé de faire un <jsp:usebean id="truc" class="machine" scope="session"/> dans chaque page ?




 
oui


---------------
Just because you feel good does not make you right
n°112698
benou
Posté le 15-03-2002 à 20:57:30  profilanswer
 

Nestor a écrit a écrit :

 
ArrayList image = new ArrayList();
String a=new String("images/second.gif" );
 
image.add(a); // marche pô
image.add((Object)(new String ("images/second.gif" ))); //marche pô non plus.  




 
je corrige :
ArrayList image = new ArrayList();
String a = "images/second.gif";
 
image.add(a); // si ca marche !
image.add("images/second.gif" ); // si ca marche aussi !  
 
à mon avis, t'as mit ce code dans un bloc <%! ... %> à la place de <% ... %>


---------------
ma vie, mon oeuvre - HomePlayer
n°112754
Nestor
Posté le 16-03-2002 à 09:01:20  profilanswer
 

tout à fait Benou et je m'en suis rendu compte avant ta réponse. Mais merci quand même.  
 
Merci aussi à DarkLord pour le bean dans chaque page (c'est pénible d'ailleurs ça).

mood
Publicité
Posté le   profilanswer
 

 Page :   1  2  3  4

Aller à :
Ajouter une réponse
 

Sujets relatifs
question simple : jsp ? servlet ?[JSP] pb insérer données formulaire ds access
[ JAVA ] [JSP ] explication de ca...[web] hebergement gratuit & perl/servlet
[JAVA-SERVLET] changer dynamique le nom d'un fichier à téléchargerJSP => de l aide s il vous plait
SOS SERVLET[ JAVA ] Servlet ? probleme de mise a jour de la Servlet sur serveur
JSP / Servlet[Servlet/JSP] ReaL bEgInner ;)
Plus de sujets relatifs à : JSP/Servlet


Copyright © 1997-2025 Groupe LDLC (Signaler un contenu illicite / Données personnelles)